diff --git a/mysql-test/t/show_check-master.opt b/mysql-test/t/show_check-master.opt index 3eb98fc3d6b..7a438da06cc 100644 --- a/mysql-test/t/show_check-master.opt +++ b/mysql-test/t/show_check-master.opt @@ -1 +1 @@ ---log-slow-queries --log-long-format --log-queries-not-using-indexes +--log-slow-queries --log-long-format --log-queries-not-using-indexes --myisam-recover="" diff --git a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test index a4cd8d323f9..34e1941c9d7 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -903,6 +903,11 @@ show variables like "log_queries_not_using_indexes"; select 1 from information_schema.tables limit 1; show status like 'slow_queries'; +# +# Bug #30088: Can't disable myisam-recover by a value of "" +# +show variables like 'myisam_recover_options'; + --echo End of 5.0 tests --disable_result_log diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 5e2139acd91..536d3d95933 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7627,11 +7627,16 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), #endif case OPT_MYISAM_RECOVER: { - if (!argument || !argument[0]) + if (!argument) { myisam_recover_options= HA_RECOVER_DEFAULT; myisam_recover_options_str= myisam_recover_typelib.type_names[0]; } + else if (!argument[0]) + { + myisam_recover_options= HA_RECOVER_NONE; + myisam_recover_options_str= "OFF"; + } else { myisam_recover_options_str=argument;