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.
This commit is contained in:
unknown 2007-08-01 11:41:13 +05:00
parent 6fb214b426
commit 1281fbc58c
4 changed files with 15 additions and 2 deletions

View File

@ -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

View File

@ -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=""

View File

@ -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

View File

@ -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;