partition_recover_myisam.test 1.58 KB
Newer Older
1
# test the auto-recover (--myisam-recover) of partitioned myisam tables
Bjorn Munch's avatar
Bjorn Munch committed
2

3
call mtr.add_suppression("t1_will_crash");
Bjorn Munch's avatar
Bjorn Munch committed
4 5
call mtr.add_suppression("Got an error from unknown thread, ha_myisam.cc");

6 7 8 9 10 11 12 13 14 15 16
--source include/have_partition.inc
--disable_warnings
--disable_query_log
drop table if exists t1_will_crash;
--enable_query_log
--enable_warnings


CREATE TABLE t1_will_crash (a INT, KEY (a)) ENGINE=MyISAM;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
FLUSH TABLES;
17

18 19
--echo # replacing t1.MYI with a corrupt + unclosed one created by doing:
--echo # 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI 
20
let $MYSQLD_DATADIR= `select @@datadir`;
21 22
--remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI
--copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI
23 24
--replace_result \\ /
--replace_regex /Table '.*data/Table './
25 26 27 28 29 30 31 32 33 34 35
SELECT * FROM t1_will_crash;
DROP TABLE t1_will_crash;
CREATE TABLE t1_will_crash (a INT, KEY (a))
ENGINE=MyISAM
PARTITION BY HASH(a)
PARTITIONS 3;
INSERT INTO t1_will_crash VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9), (10), (11);
FLUSH TABLES;
--echo # replacing t1#P#p1.MYI with a corrupt + unclosed one created by doing:
--echo # 'create table t1 (a int key(a)) partition by hash (a) partitions 3'
--echo # head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI 
36 37
--remove_file $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLD_DATADIR/test/t1_will_crash#P#p1.MYI
38 39
--replace_result \\ /
--replace_regex /Table '.*data/Table './
40 41
SELECT * FROM t1_will_crash;
DROP TABLE t1_will_crash;