1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
--echo #
--echo # MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
--echo # INSTALL PLUGIN
--echo #
# Prepare test
delimiter |;
CREATE PROCEDURE p_install(x INT)
BEGIN
DECLARE CONTINUE HANDLER FOR 1126 BEGIN END;
WHILE x DO
SET x= x - 1;
INSTALL PLUGIN no_such_plugin SONAME 'no_such_object';
END WHILE;
END|
CREATE PROCEDURE p_show_vars(x INT)
WHILE x DO
SET x= x - 1;
SHOW VARIABLES;
END WHILE|
delimiter ;|
connect(con1, localhost, root,,);
connect(con2, localhost, root,,);
# Start test
connection con1;
--send CALL p_install(100)
connection con2;
--send CALL p_show_vars(100)
connection default;
disable_result_log;
let $i= 100;
while ($i)
{
change_user;
dec $i;
}
# Cleanup
connection con1;
reap;
connection con2;
reap;
connection default;
enable_result_log;
disconnect con1;
disconnect con2;
USE test;
DROP PROCEDURE p_install;
DROP PROCEDURE p_show_vars;
|