if (!$HA_BLACKHOLE_SO) { --skip Need blackhole plugin } set sql_mode=""; CREATE TABLE t1(a int) ENGINE=BLACKHOLE; set sql_mode=default; DROP TABLE t1; --replace_regex /\.dll/.so/ eval INSTALL PLUGIN blackhole SONAME '$HA_BLACKHOLE_SO'; --replace_regex /\.dll/.so/ --error ER_PLUGIN_INSTALLED eval INSTALL PLUGIN BLACKHOLE SONAME '$HA_BLACKHOLE_SO'; UNINSTALL PLUGIN blackhole; --replace_regex /\.dll/.so/ 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;