diff --git a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result index e4cdd4f183b..85528de00bc 100644 --- a/mysql-test/r/show_check.result +++ b/mysql-test/r/show_check.result @@ -1118,4 +1118,7 @@ select 1 from information_schema.tables limit 1; show status like 'slow_queries'; Variable_name Value Slow_queries 2 +show variables like 'myisam_recover_options'; +Variable_name Value +myisam_recover_options OFF End of 5.0 tests 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 a58d81a414b..28f85635c93 100644 --- a/mysql-test/t/show_check.test +++ b/mysql-test/t/show_check.test @@ -782,4 +782,9 @@ 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 diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 9eb3d157dcf..57d1656736d 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7241,11 +7241,16 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), #endif /* HAVE_INNOBASE_DB */ 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;