| Bug #29980 | 5.1.20 ate my table | ||
|---|---|---|---|
| Submitted: | 23 Jul 2007 16:07 | Modified: | 3 Aug 2007 17:11 |
| Reporter: | Jim Winstead | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: MyISAM storage engine | Severity: | S1 (Critical) |
| Version: | 5.1.20/6.0 | OS: | Linux (Linux) |
| Assigned to: | Ramil Kalimullin | CPU Architecture: | Any |
| Tags: | corruption | ||
[23 Jul 2007 16:07]
Jim Winstead
[23 Jul 2007 16:31]
MySQL Verification Team
Thank you for the bug report. Verified with 5.1.21.
[24 Jul 2007 14:32]
Jim Winstead
As the original report says, it was REPAIR TABLE ... USE_FRM that ate the contents.
mysql> show create table win32\G
*************************** 1. row ***************************
Table: win32
Create Table: CREATE TABLE `win32` (
`hash` tinyint(3) unsigned NOT NULL DEFAULT '0',
`address` varchar(255) NOT NULL DEFAULT '',
KEY `h` (`hash`),
KEY `a` (`address`(12))
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
[24 Jul 2007 15:17]
Sergei Golubchik
a duplicate of Bug#28602, probably
[24 Jul 2007 16:17]
MySQL Verification Team
Updating version.
[26 Jul 2007 8:07]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/31596 ChangeSet@1.2577, 2007-07-26 13:07:01+05:00, ramil@mysql.com +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.
[2 Aug 2007 19:14]
Bugs System
Pushed into 5.1.21-beta
[3 Aug 2007 17:11]
Paul DuBois
Noted in 5.1.21 changelog. REPAIR TABLE ... USE_FRM could corrupt tables.
