if (!$HA_ARCHIVE_SO) { --skip Need archive plugin } --error ER_UNKNOWN_STORAGE_ENGINE CREATE TABLE t1(a int) ENGINE=ARCHIVE; --replace_regex /\.dll/.so/ eval INSTALL PLUGIN archive SONAME '$HA_ARCHIVE_SO'; --replace_regex /\.dll/.so/ --error ER_PLUGIN_INSTALLED eval INSTALL PLUGIN ARCHIVE SONAME '$HA_ARCHIVE_SO'; UNINSTALL PLUGIN archive; --replace_regex /\.dll/.so/ eval INSTALL PLUGIN archive SONAME '$HA_ARCHIVE_SO'; CREATE TABLE t1(a int) ENGINE=ARCHIVE; 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 archive; --error ER_SP_DOES_NOT_EXIST UNINSTALL PLUGIN archive;