Below is the list of changes that have just been committed into a local
5.1 repository of ram. When ram 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-07-26 13:07:01+05:00, ramil@stripped +1 -0
Fix for bug #29980: 5.1.20 ate my table
Problem: trying to repair an old (e.g. with "old" varstring fields) corrupted
table with use_frm option we don't actually repair the table, just altering it
which may couse data loss.
Fix: if use_frm repair option is set, do repair instead of altering even
if the table needs upgrade.
sql/sql_table.cc@stripped, 2007-07-26 13:06:59+05:00, ramil@stripped +2 -1
Fix for bug #29980: 5.1.20 ate my table
diff -Nrup a/sql/sql_table.cc b/sql/sql_table.cc
--- a/sql/sql_table.cc 2007-07-20 10:27:51 +05:00
+++ b/sql/sql_table.cc 2007-07-26 13:06:59 +05:00
@@ -4132,7 +4132,8 @@ static bool mysql_admin_table(THD* thd,
goto err;
}
- if (operator_func == &handler::ha_repair)
+ if (operator_func == &handler::ha_repair &&
+ !(check_opt->sql_flags & TT_USEFRM))
{
if ((table->table->file->check_old_types() == HA_ADMIN_NEEDS_ALTER) ||
(table->table->file->ha_check_for_upgrade(check_opt) ==