mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
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: Fix for bug #29980: 5.1.20 ate my table
This commit is contained in:
parent
866225919c
commit
365bbf9814
1 changed files with 2 additions and 1 deletions
|
@ -4132,7 +4132,8 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
|
|||
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) ==
|
||||
|
|
Loading…
Reference in a new issue