summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@mariadb.org>2014-06-17 13:03:26 +0400
committerSergey Vojtovich <svoj@mariadb.org>2014-06-17 13:03:26 +0400
commit3375e137f88b9cfe3cdd10dd968e3f87d169d373 (patch)
tree612cce096cc7d95468bdd619bb130621f8532e00
parentebf3437810797bccd43039459df5f8a4d3070b2e (diff)
downloadmariadb-git-3375e137f88b9cfe3cdd10dd968e3f87d169d373.tar.gz
MDEV-6351 - --plugin=force has no effect for built-in plugins
mysqld didn't fail to start if a compiled-in plugin failed to initialize (--xxx=FORCE behaving as --xxx=ON)
-rw-r--r--mysql-test/r/plugin_loaderr.result3
-rw-r--r--mysql-test/t/plugin_loaderr.test14
-rw-r--r--sql/sql_plugin.cc2
3 files changed, 18 insertions, 1 deletions
diff --git a/mysql-test/r/plugin_loaderr.result b/mysql-test/r/plugin_loaderr.result
index 95e5ec794d2..8ac55455cff 100644
--- a/mysql-test/r/plugin_loaderr.result
+++ b/mysql-test/r/plugin_loaderr.result
@@ -8,3 +8,6 @@ PLUGIN_TYPE STORAGE ENGINE
PLUGIN_LIBRARY NULL
PLUGIN_LIBRARY_VERSION NULL
LOAD_OPTION ON
+#
+# MDEV-6351 - --plugin=force has no effect for built-in plugins
+#
diff --git a/mysql-test/t/plugin_loaderr.test b/mysql-test/t/plugin_loaderr.test
index e319e2fb54d..bdae33a29df 100644
--- a/mysql-test/t/plugin_loaderr.test
+++ b/mysql-test/t/plugin_loaderr.test
@@ -8,3 +8,17 @@ SELECT
PLUGIN_NAME,PLUGIN_STATUS,PLUGIN_TYPE,PLUGIN_LIBRARY,PLUGIN_LIBRARY_VERSION,LOAD_OPTION
FROM INFORMATION_SCHEMA.PLUGINS WHERE plugin_name = 'innodb';
+--echo #
+--echo # MDEV-6351 - --plugin=force has no effect for built-in plugins
+--echo #
+--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--shutdown_server
+--source include/wait_until_disconnected.inc
+
+--error 1
+--exec $MYSQLD_CMD --innodb=force --innodb-page-size=6000
+
+--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+--disable_reconnect
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index fc856f11a89..e1784c1f027 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -1612,7 +1612,7 @@ int plugin_init(int *argc, char **argv, int flags)
if (plugin_initialize(&tmp_root, plugin_ptr, argc, argv, !is_myisam &&
(flags & PLUGIN_INIT_SKIP_INITIALIZATION)))
{
- if (mandatory)
+ if (plugin_ptr->load_option == PLUGIN_FORCE)
goto err_unlock;
plugin_ptr->state= PLUGIN_IS_DISABLED;
}