mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
2f5a462fdd
fails when running with ps-protocol). The problem was that when running in --ps-protocol mode mysqltest.cc didn't close created prepared statements. So, the plugins could not be unistalled because there was a prepared statement using them. A fix is to add a dummy statement that forces mysqltest.cc to close the last prepared statement (which uses a plugin-defined table).
34 lines
1,009 B
Text
34 lines
1,009 B
Text
--source include/not_windows.inc
|
|
--source include/have_blackhole_plugin.inc
|
|
|
|
# When running in parallel we get
|
|
# Warning 1620 Plugin is busy and will be uninstalled on shutdown
|
|
--source include/not_parallel.inc
|
|
|
|
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
|
DROP TABLE t1;
|
|
|
|
eval INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
|
--error 1125
|
|
eval INSTALL PLUGIN BLACKHOLE SONAME 'ha_blackhole.so';
|
|
|
|
UNINSTALL PLUGIN blackhole;
|
|
|
|
eval INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';
|
|
|
|
CREATE TABLE t1(a int) ENGINE=BLACKHOLE;
|
|
|
|
DROP TABLE t1;
|
|
|
|
# This dummy statement is required for --ps-protocol mode.
|
|
# The thing is that last prepared statement is "cached" in mysqltest.cc
|
|
# (unless "reconnect" is enabled, and that's not the case here).
|
|
# This statement forces mysqltest.cc to close prepared "DROP TABLE t1".
|
|
# Otherwise, the plugin can not be uninstalled because there is an active
|
|
# prepared statement using it.
|
|
SELECT 1;
|
|
|
|
UNINSTALL PLUGIN blackhole;
|
|
--error ER_SP_DOES_NOT_EXIST
|
|
UNINSTALL PLUGIN blackhole;
|
|
|