mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 18:20:07 +01:00
869b596b74
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.
120 lines
3.4 KiB
Text
120 lines
3.4 KiB
Text
#
|
|
# Ensure the plugin isn't loaded.
|
|
#
|
|
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
|
|
name dl
|
|
#
|
|
# Enable the plugin...
|
|
#
|
|
#
|
|
# Simulate loading a plugin libary with multiple entry points.
|
|
# This will test the DISABLE to ensure all rows are removed.
|
|
#
|
|
INSERT INTO mysql.plugin VALUES ('wicky', 'libdaemon_example.so');
|
|
INSERT INTO mysql.plugin VALUES ('wacky', 'libdaemon_example.so');
|
|
INSERT INTO mysql.plugin VALUES ('wonky', 'libdaemon_example.so');
|
|
#
|
|
# Ensure the plugin is now loaded.
|
|
#
|
|
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
|
|
name dl
|
|
daemon_example libdaemon_example.so
|
|
wacky libdaemon_example.so
|
|
wicky libdaemon_example.so
|
|
wonky libdaemon_example.so
|
|
#
|
|
# Disable the plugin...
|
|
#
|
|
#
|
|
# Ensure the plugin isn't loaded.
|
|
#
|
|
SELECT * FROM mysql.plugin WHERE dl like 'libdaemon%' ORDER BY name;
|
|
name dl
|
|
#
|
|
# Attempt to load non-existant plugin
|
|
#
|
|
ERROR: Cannot read plugin config file NOT_THERE_AT_ALL. File does not exist.
|
|
#
|
|
# Attempt to use non-existant plugin.ini file
|
|
#
|
|
ERROR: Cannot read plugin config file daemon_example. File does not exist.
|
|
#
|
|
# Attempt to omit the plugin
|
|
#
|
|
ERROR: No plugin specified.
|
|
#
|
|
# Attempt to omit DISABLE|ENABLE
|
|
#
|
|
ERROR: missing operation. Please specify either '<plugin> ENABLE' or '<plugin> DISABLE'.
|
|
#
|
|
# Attempt to use bad paths - datadir
|
|
#
|
|
ERROR: Cannot access datadir at '/data_not_there/'.
|
|
#
|
|
# Attempt to use bad paths - basedir
|
|
#
|
|
ERROR: Cannot access basedir at '/basedir_not_there/'.
|
|
#
|
|
# Attempt to use bad paths - plugin_dir
|
|
#
|
|
ERROR: Cannot read plugin config file daemon_example. File does not exist.
|
|
#
|
|
# Attempt to use bad paths - mysqld
|
|
#
|
|
ERROR: Cannot access mysqld path '/mysqld_not_there/'.
|
|
#
|
|
# Attempt to use bad paths - my_print_defaults
|
|
#
|
|
ERROR: Cannot access my-print-defaults path '/my_print_defaults_not_there/'.
|
|
#
|
|
# Missing library
|
|
#
|
|
ERROR: The plugin library is missing or in a different location.
|
|
#
|
|
# Bad format for config file
|
|
#
|
|
ERROR: Cannot read plugin config file daemon_example. Bad format in plugin configuration file.
|
|
#
|
|
# Missing base_dir option
|
|
#
|
|
ERROR: Missing --basedir option.
|
|
#
|
|
# Missing data_dir option
|
|
#
|
|
ERROR: Missing --datadir option.
|
|
#
|
|
# Missing plugin_dir option
|
|
#
|
|
ERROR: Missing --plugin_dir option.
|
|
#
|
|
# Show the help.
|
|
#
|
|
mysql_plugin Ver V.V.VV Distrib XX.XX.XX
|
|
Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
|
|
|
Enable or disable plugins.
|
|
|
|
Usage: mysql_plugin [options] <plugin> ENABLE|DISABLE
|
|
|
|
Options:
|
|
-?, --help Display this help and exit.
|
|
-b, --basedir=name The basedir for the server.
|
|
-d, --datadir=name The datadir for the server.
|
|
-p, --plugin-dir=name
|
|
The plugin dir for the server.
|
|
-i, --plugin-ini=name
|
|
Read plugin information from configuration file specified
|
|
instead of from <plugin-dir>/<plugin_name>.ini.
|
|
-n, --no-defaults Do not read values from configuration file.
|
|
-P, --print-defaults
|
|
Show default values from configuration file.
|
|
-m, --mysqld=name Path to mysqld executable. Example: /sbin/temp1/mysql/bin
|
|
-f, --my-print-defaults=name
|
|
Path to my_print_defaults executable. Example:
|
|
/source/temp11/extra
|
|
-v, --verbose More verbose output; you can use this multiple times to
|
|
get even more verbose output.
|
|
-V, --version Output version information and exit.
|
|
|
|
|
|
mysql_plugin Ver V.V.VV Distrib XX.XX.XX
|