From 1281fbc58c139b90a329ae3519f46d2b0b75a249 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 1 Aug 2007 11:41:13 +0500 Subject: [PATCH] Fix for bug #30088: Can't disable myisam-recover by a value of "". - test result. Problem: we don't proper handle "" value of the --myisam-recover option. Fix: turn off myisam recovering if --myisam-recover="" is set. mysql-test/r/show_check.result: Fix for bug #30088: Can't disable myisam-recover by a value of "". - test result. mysql-test/t/show_check-master.opt: Fix for bug #30088: Can't disable myisam-recover by a value of "". - test case. mysql-test/t/show_check.test: Fix for bug #30088: Can't disable myisam-recover by a value of "". - test case. sql/mysqld.cc: Fix for bug #30088: Can't disable myisam-recover by a value of "". - turn off myisam recovering if --myisam-recover="" is passed. --- mysql-test/r/show_check.result | 3 +++ mysql-test/t/show_check-master.opt | 2 +- mysql-test/t/show_check.test | 5 +++++ sql/mysqld.cc | 7 ++++++- 4 files changed, 15 insertions(+), 2 deletions(-) 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;