|
|
6f9931 |
In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in.
|
|
|
6f9931 |
In this case, the plugin cannot be uninstalled and we get error when trying
|
|
|
6f9931 |
to do so:
|
|
|
6f9931 |
|
|
|
6f9931 |
mysql> uninstall plugin innodb;
|
|
|
6f9931 |
ERROR 1305 (42000): PLUGIN innodb does not exist
|
|
|
6f9931 |
|
|
|
6f9931 |
But the error message is misleading. The plugin does exist, it just cannot
|
|
|
6f9931 |
be installed because it's not dynamically loaded.
|
|
|
6f9931 |
|
|
|
6f9931 |
MySQL bug report: http://bugs.mysql.com/bug.php?id=51771
|
|
|
6f9931 |
MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573
|
|
|
6f9931 |
MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802
|
|
|
6f9931 |
|
|
|
6f9931 |
diff -up mysql-5.5.34/include/mysql.h.p28 mysql-5.5.34/include/mysql.h
|
|
|
6f9931 |
--- mysql-5.5.34/include/mysql.h.p28 2013-09-09 20:01:38.000000000 +0200
|
|
|
6f9931 |
+++ mysql-5.5.34/include/mysql.h 2013-10-10 12:09:03.934687127 +0200
|
|
|
6f9931 |
@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong;
|
|
|
6f9931 |
|
|
|
6f9931 |
/* backward compatibility define - to be removed eventually */
|
|
|
6f9931 |
#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
|
|
|
6f9931 |
+#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN
|
|
|
6f9931 |
|
|
|
6f9931 |
typedef struct st_mysql_rows {
|
|
|
6f9931 |
struct st_mysql_rows *next; /* list of rows */
|
|
|
6f9931 |
diff -up mysql-5.5.34/mysql-test/r/plugin.result.p28 mysql-5.5.34/mysql-test/r/plugin.result
|
|
|
6f9931 |
--- mysql-5.5.34/mysql-test/r/plugin.result.p28 2013-09-09 20:01:38.000000000 +0200
|
|
|
6f9931 |
+++ mysql-5.5.34/mysql-test/r/plugin.result 2013-10-10 12:09:03.935687127 +0200
|
|
|
6f9931 |
@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar;
|
|
|
6f9931 |
@@SESSION.example_double_thdvar
|
|
|
6f9931 |
1000.500000
|
|
|
6f9931 |
UNINSTALL PLUGIN example;
|
|
|
6f9931 |
+UNINSTALL PLUGIN MyISAM;
|
|
|
6f9931 |
+ERROR HY000: Built-in plugins cannot be deleted
|
|
|
6f9931 |
diff -up mysql-5.5.34/mysql-test/t/plugin.test.p28 mysql-5.5.34/mysql-test/t/plugin.test
|
|
|
6f9931 |
--- mysql-5.5.34/mysql-test/t/plugin.test.p28 2013-09-09 20:01:38.000000000 +0200
|
|
|
6f9931 |
+++ mysql-5.5.34/mysql-test/t/plugin.test 2013-10-10 12:09:03.935687127 +0200
|
|
|
6f9931 |
@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000
|
|
|
6f9931 |
SELECT @@SESSION.example_double_thdvar;
|
|
|
6f9931 |
|
|
|
6f9931 |
UNINSTALL PLUGIN example;
|
|
|
6f9931 |
+
|
|
|
6f9931 |
+#
|
|
|
6f9931 |
+# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins
|
|
|
6f9931 |
+#
|
|
|
6f9931 |
+--error ER_PLUGIN_DELETE_BUILTIN
|
|
|
6f9931 |
+UNINSTALL PLUGIN MyISAM;
|
|
|
6f9931 |
+
|
|
|
6f9931 |
diff -up mysql-5.5.34/sql/share/errmsg-utf8.txt.p28 mysql-5.5.34/sql/share/errmsg-utf8.txt
|
|
|
6f9931 |
--- mysql-5.5.34/sql/share/errmsg-utf8.txt.p28 2013-09-09 20:01:38.000000000 +0200
|
|
|
6f9931 |
+++ mysql-5.5.34/sql/share/errmsg-utf8.txt 2013-10-10 12:09:03.936687128 +0200
|
|
|
6f9931 |
@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO
|
|
|
6f9931 |
WARN_OPTION_IGNORED
|
|
|
6f9931 |
eng "<%-.64s> option ignored"
|
|
|
6f9931 |
ger "Option <%-.64s> ignoriert"
|
|
|
6f9931 |
-WARN_PLUGIN_DELETE_BUILTIN
|
|
|
6f9931 |
+ER_PLUGIN_DELETE_BUILTIN
|
|
|
6f9931 |
eng "Built-in plugins cannot be deleted"
|
|
|
6f9931 |
ger "Eingebaute Plugins können nicht gelöscht werden"
|
|
|
6f9931 |
WARN_PLUGIN_BUSY
|
|
|
6f9931 |
diff -up mysql-5.5.34/sql/sql_plugin.cc.p28 mysql-5.5.34/sql/sql_plugin.cc
|
|
|
6f9931 |
--- mysql-5.5.34/sql/sql_plugin.cc.p28 2013-10-10 12:09:03.837687101 +0200
|
|
|
6f9931 |
+++ mysql-5.5.34/sql/sql_plugin.cc 2013-10-10 12:09:03.937687128 +0200
|
|
|
6f9931 |
@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co
|
|
|
6f9931 |
}
|
|
|
6f9931 |
if (!plugin->plugin_dl)
|
|
|
6f9931 |
{
|
|
|
6f9931 |
- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
|
|
6f9931 |
- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN));
|
|
|
6f9931 |
- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str);
|
|
|
6f9931 |
+ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0));
|
|
|
6f9931 |
goto err;
|
|
|
6f9931 |
}
|
|
|
6f9931 |
if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
|