summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-08-01 11:41:13 +0500
committerunknown <ramil/ram@mysql.com/ramil.myoffice.izhnet.ru>2007-08-01 11:41:13 +0500
commit1281fbc58c139b90a329ae3519f46d2b0b75a249 (patch)
tree2e4dcf31eb475cbc4938f7a1f86c1ca4d5f13d99
parent6fb214b4261b60fbfd4d27f780f639eadfcfcdc0 (diff)
downloadmariadb-git-1281fbc58c139b90a329ae3519f46d2b0b75a249.tar.gz
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.
-rw-r--r--mysql-test/r/show_check.result3
-rw-r--r--mysql-test/t/show_check-master.opt2
-rw-r--r--mysql-test/t/show_check.test5
-rw-r--r--sql/mysqld.cc7
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;