mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	 869b596b74
			
		
	
	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.
		
			
				
	
	
		
			121 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # 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
 |