mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
47 lines
1.1 KiB
Text
47 lines
1.1 KiB
Text
#
|
|
# Start of 10.2 tests
|
|
#
|
|
#
|
|
# MDEV-25243 ASAN heap-use-after-free in Item_func_sp::execute_impl upon concurrent view DDL and I_S query with view and function
|
|
#
|
|
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
|
CREATE VIEW v01 AS SELECT f1();
|
|
CREATE VIEW v02 AS SELECT f1();
|
|
connect con1,localhost,root,,;
|
|
SELECT GET_LOCK('v01',30);
|
|
GET_LOCK('v01',30)
|
|
1
|
|
SELECT GET_LOCK('v02',30);
|
|
GET_LOCK('v02',30)
|
|
1
|
|
connection default;
|
|
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
|
|
WHERE TABLE_SCHEMA='test'
|
|
AND TABLE_NAME LIKE 'v0%'
|
|
AND GET_LOCK(TABLE_NAME,30)
|
|
AND RELEASE_LOCK(TABLE_NAME)
|
|
AND f1()=1
|
|
ORDER BY TABLE_NAME;
|
|
connection con1;
|
|
connection con1;
|
|
SELECT RELEASE_LOCK('v01') /* Let the first row evaluate f1 */;
|
|
RELEASE_LOCK('v01')
|
|
1
|
|
CREATE FUNCTION f2() RETURNS INT RETURN 1 /* Invalidate SP cache*/;
|
|
SELECT RELEASE_LOCK('v02') /* Let the second row evaluate f1() */;
|
|
RELEASE_LOCK('v02')
|
|
1
|
|
DROP FUNCTION f2;
|
|
disconnect con1;
|
|
connection default;
|
|
SELECT RELEASE_LOCK('v01');
|
|
RELEASE_LOCK('v01')
|
|
NULL
|
|
SELECT RELEASE_LOCK('v02');
|
|
RELEASE_LOCK('v02')
|
|
NULL
|
|
DROP VIEW v01, v02;
|
|
DROP FUNCTION f1;
|
|
#
|
|
# End of 10.2 tests
|
|
#
|