1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

BUG#26138 - REPAIR TABLE with option USE_FRM erases all records in

ARCHIVE table
ARCHIVE table was truncated by REPAIR TABLE ... USE_FRM statement.
The table handler returned its file name extensions in a wrong order.
REPAIR TABLE believed it has to use the meta file to create a new table
from it.

With the fixed order, REPAIR TABLE does now use the data file to create
a new table. So REPAIR TABLE ... USE_FRM works well with ARCHIVE engine
now.

This issue affects 5.0 only, since in 5.1 ARCHIVE engine stores meta
information and data in the same file.
This commit is contained in:
svoj@mysql.com/june.mysql.com
2007-03-30 13:00:21 +05:00
parent 75f0416532
commit 556de62f8d
6 changed files with 40 additions and 2 deletions

View File

@ -12355,3 +12355,12 @@ auto fld1 companynr fld3 fld4 fld5
4 011403 37 intercepted audiology tinily
4 011403 37 intercepted audiology tinily
drop table t1, t2, t4;
create table t1 (i int) engine=archive;
insert into t1 values (1);
repair table t1 use_frm;
Table Op Msg_type Msg_text
test.t1 repair status OK
select * from t1;
i
1
drop table t1;

View File

@ -1364,3 +1364,13 @@ SELECT * from t2;
drop table t1, t2, t4;
#
# BUG#26138 - REPAIR TABLE with option USE_FRM erases all records in ARCHIVE
# table
#
create table t1 (i int) engine=archive;
insert into t1 values (1);
repair table t1 use_frm;
select * from t1;
drop table t1;