summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/archive/archive_plugin.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/archive/archive_plugin.test')
-rw-r--r--mysql-test/suite/archive/archive_plugin.test33
1 files changed, 33 insertions, 0 deletions
diff --git a/mysql-test/suite/archive/archive_plugin.test b/mysql-test/suite/archive/archive_plugin.test
new file mode 100644
index 00000000..69bf9a5f
--- /dev/null
+++ b/mysql-test/suite/archive/archive_plugin.test
@@ -0,0 +1,33 @@
+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;
+