mariadb/mysql-test/r/plugin_vars.result
Sergey Vojtovich e1e5ce0da2 MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
INSTALL PLUGIN

There was mixed lock order between LOCK_plugin, LOCK_global_system_variables
and LOCK_system_variables_hash. This patch ensures that write-lock on
LOCK_system_variables_hash doesn't intersect with LOCK_plugin.

Fixed by moving initialization/deinitialization of plugin options from
plugin_add()/plugin_del() to plugin_initialize()/plugin_deinitalize().
So that plugin options are handled without protection of LOCK_plugin.
2014-01-28 11:12:43 +04:00

22 lines
481 B
Text

#
# MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
# INSTALL PLUGIN
#
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|
CALL p_install(100);
CALL p_show_vars(100);
USE test;
DROP PROCEDURE p_install;
DROP PROCEDURE p_show_vars;