mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Fixed bug lp:967914 "CHECK TABLE persistently reports table corruption after removing Aria logs"
Fixed that repair removes the 'table is moved' mark. mysql-test/suite/maria/r/maria-autozerofill.result: Test case for lp:967914 mysql-test/suite/maria/t/maria-autozerofill.test: Test case for lp:967914 storage/maria/ha_maria.cc: Fixed that repair removes the 'table is moved' mark.
This commit is contained in:
parent
bbf1a7961a
commit
9b8542a4f6
3 changed files with 25 additions and 1 deletions
|
@ -10,6 +10,8 @@ create table t3 (a int) engine=maria;
|
|||
INSERT INTO t3 VALUES (1),(2);
|
||||
create table t4 (a int) engine=maria;
|
||||
INSERT INTO t4 VALUES (1),(2);
|
||||
create table t5 (a int) engine=maria;
|
||||
INSERT INTO t5 VALUES (1),(2);
|
||||
flush tables;
|
||||
create_rename_lsn has non-magic value
|
||||
* shut down mysqld, removed logs, restarted it
|
||||
|
@ -35,6 +37,9 @@ mysqltest.t2 check error Corrupt
|
|||
repair table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t2 repair status OK
|
||||
check table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t2 check status OK
|
||||
optimize table t3;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t3 optimize Note Zerofilling moved table ./mysqltest/t3
|
||||
|
@ -43,4 +48,16 @@ analyze table t4;
|
|||
Table Op Msg_type Msg_text
|
||||
mysqltest.t4 analyze Note Zerofilling moved table ./mysqltest/t4
|
||||
mysqltest.t4 analyze status OK
|
||||
repair table t5;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t5 repair status OK
|
||||
check table t5;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t5 check status OK
|
||||
repair table t5;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t5 repair status OK
|
||||
check table t5;
|
||||
Table Op Msg_type Msg_text
|
||||
mysqltest.t5 check status OK
|
||||
drop database mysqltest;
|
||||
|
|
|
@ -31,6 +31,8 @@ create table t3 (a int) engine=maria;
|
|||
INSERT INTO t3 VALUES (1),(2);
|
||||
create table t4 (a int) engine=maria;
|
||||
INSERT INTO t4 VALUES (1),(2);
|
||||
create table t5 (a int) engine=maria;
|
||||
INSERT INTO t5 VALUES (1),(2);
|
||||
flush tables;
|
||||
|
||||
# Check that table is not zerofilled, not movable
|
||||
|
@ -96,9 +98,14 @@ EOF
|
|||
check table t2;
|
||||
check table t2;
|
||||
repair table t2;
|
||||
check table t2;
|
||||
replace_result \\ /;
|
||||
optimize table t3;
|
||||
replace_result \\ /;
|
||||
analyze table t4;
|
||||
repair table t5;
|
||||
check table t5;
|
||||
repair table t5;
|
||||
check table t5;
|
||||
|
||||
drop database mysqltest;
|
||||
|
|
|
@ -1562,7 +1562,7 @@ int ha_maria::repair(THD *thd, HA_CHECK *param, bool do_optimize)
|
|||
{
|
||||
DBUG_PRINT("info", ("Reseting crashed state"));
|
||||
share->state.changed&= ~(STATE_CHANGED | STATE_CRASHED_FLAGS |
|
||||
STATE_IN_REPAIR);
|
||||
STATE_IN_REPAIR | STATE_MOVED);
|
||||
file->update |= HA_STATE_CHANGED | HA_STATE_ROW_CHANGED;
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue