From: Date: July 26 2007 10:07am Subject: bk commit into 5.1 tree (ramil:1.2577) BUG#29980 List-Archive: http://lists.mysql.com/commits/31596 X-Bug: 29980 Message-Id: <20070726080706.0376D3400077@ramil.myoffice.izhnet.ru> 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) ==