1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

BUG#12968815: mysql_plugin : disable requires plugin name but doesn't use it

This patch corrects a defect in the building of the DELETE commands for
disabling a plugin whereby only the original plugin data was deleted. If there
were other plugins, the delete did not remove the rows. The code has been
changed to remove all rows from the mysql.plugin table that were inserted when
the plugin was loaded. The test has also been changed to correctly identify if
all rows have been deleted.
This commit is contained in:
chuck.bell@oracle.com
2011-10-17 15:30:28 -04:00
parent 9dd6da1e8c
commit 869b596b74
3 changed files with 25 additions and 7 deletions

View File

@ -105,7 +105,7 @@ let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD
--echo #
--echo # Ensure the plugin isn't loaded.
--echo #
SELECT * FROM mysql.plugin WHERE name = 'daemon_example' ORDER BY name;
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
--echo #
--echo # Enable the plugin...
@ -138,11 +138,19 @@ EOF
--enable_reconnect
--source include/wait_until_connected_again.inc
--echo #
--echo # Simulate loading a plugin libary with multiple entry points.
--echo # This will test the DISABLE to ensure all rows are removed.
--echo #
eval INSERT INTO mysql.plugin VALUES ('wicky', '$DAEMONEXAMPLE');
eval INSERT INTO mysql.plugin VALUES ('wacky', '$DAEMONEXAMPLE');
eval INSERT INTO mysql.plugin VALUES ('wonky', '$DAEMONEXAMPLE');
--echo #
--echo # Ensure the plugin is now loaded.
--echo #
--replace_regex /\.dll/.so/
SELECT * FROM mysql.plugin WHERE name = 'daemon_example' ORDER BY name;
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
--echo #
--echo # Disable the plugin...
@ -173,7 +181,7 @@ EOF
--echo #
--echo # Ensure the plugin isn't loaded.
--echo #
SELECT * FROM mysql.plugin WHERE name = 'daemon_example' ORDER BY name;
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
#
# Stop the server for error conditions