Below is the list of changes that have just been committed into a local
5.0 repository of tnurnberg. When tnurnberg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-10-11 17:22:19+02:00, tnurnberg@stripped +4 -0
Bug#30821: setting --tc_heuristic_recover tries to set myisam_stats_method
Options to mysqld were not processed correctly because switch statement
was missing some "break"s. CS adds them.
mysql-test/r/tc_heuristic_recover.result@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +3 -0
If the server comes this far, the option-parsing succeeded,
and we're done.
mysql-test/r/tc_heuristic_recover.result@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +0 -0
mysql-test/t/tc_heuristic_recover-master.opt@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +1 -0
processing for tc_heuristic_recover and merge were broken;
we'll use the former for our tests since the code-path the latter
will erraneously run into depends heavily on diverse build options
and is hard or impossible to test for in a satisfactory manner.
tc_heuristic_recover needs an engine that supports two phase commit,
so we try to activate innodb. test suite enables log-bin by default,
so we need to switch it back off here.
mysql-test/t/tc_heuristic_recover-master.opt@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +0 -0
mysql-test/t/tc_heuristic_recover.test@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +8 -0
If the server comes this far, the option-parsing succeeded,
and we're done.
mysql-test/t/tc_heuristic_recover.test@stripped, 2007-10-11 17:22:15+02:00,
tnurnberg@stripped +0 -0
sql/mysqld.cc@stripped, 2007-10-11 17:22:15+02:00, tnurnberg@stripped +2 -0
Add missing "break"s to switch() in mysqld to fix option processing.
diff -Nrup a/mysql-test/r/tc_heuristic_recover.result
b/mysql-test/r/tc_heuristic_recover.result
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/r/tc_heuristic_recover.result 2007-10-11 17:22:15 +02:00
@@ -0,0 +1,3 @@
+select "Success!";
+Success!
+Success!
diff -Nrup a/mysql-test/t/tc_heuristic_recover-master.opt
b/mysql-test/t/tc_heuristic_recover-master.opt
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/t/tc_heuristic_recover-master.opt 2007-10-11 17:22:15 +02:00
@@ -0,0 +1 @@
+--skip-log-bin --loose-innodb --loose-tc_heuristic_recover=commit
diff -Nrup a/mysql-test/t/tc_heuristic_recover.test
b/mysql-test/t/tc_heuristic_recover.test
--- /dev/null Wed Dec 31 16:00:00 196900
+++ b/mysql-test/t/tc_heuristic_recover.test 2007-10-11 17:22:15 +02:00
@@ -0,0 +1,8 @@
+#
+# Bug #30821: setting --tc_heuristic_recover tries to set myisam_stats_method
+#
+
+# tc_heuristic_recover can only be used at start-up; if we got this far,
+# the opt-file worked, and we're done.
+
+select "Success!";
diff -Nrup a/sql/mysqld.cc b/sql/mysqld.cc
--- a/sql/mysqld.cc 2007-10-05 19:16:51 +02:00
+++ b/sql/mysqld.cc 2007-10-11 17:22:15 +02:00
@@ -7165,6 +7165,7 @@ get_one_option(int optid, const struct m
have_merge_db= SHOW_OPTION_YES;
else
have_merge_db= SHOW_OPTION_DISABLED;
+ break;
#ifdef HAVE_BERKELEY_DB
case OPT_BDB_NOSYNC:
/* Deprecated option */
@@ -7304,6 +7305,7 @@ get_one_option(int optid, const struct m
fprintf(stderr, "Unknown option to tc-heuristic-recover: %s\n",argument);
exit(1);
}
+ break;
}
case OPT_MYISAM_STATS_METHOD:
{
| Thread |
|---|
| • bk commit into 5.0 tree (tnurnberg:1.2531) BUG#30821 | Tatjana A Nuernberg | 11 Oct |