# test the auto-recover (--myisam-recover) of partitioned myisam tables call mtr.add_suppression("..test.t1_will_crash"); call mtr.add_suppression("Got an error from unknown thread"); call mtr.add_suppression("Table 't1_will_crash' is marked as crashed and should be repaired"); --source include/have_partition.inc 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; --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 let $MYSQLD_DATADIR= `select @@datadir`; --remove_file $MYSQLD_DATADIR/test/t1_will_crash.MYI --copy_file std_data/corrupt_t1.MYI $MYSQLD_DATADIR/test/t1_will_crash.MYI --enable_prepare_warnings # Embedded server doesn't chdir to data directory --replace_regex /Table '.*t1_will_crash/Table 't1_will_crash/ --enable_prepare_warnings SELECT * FROM t1_will_crash; --disable_prepare_warnings 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 --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 --enable_prepare_warnings # Embedded server doesn't chdir to data directory --replace_regex /Table '.*t1_will_crash/Table 't1_will_crash/ --enable_prepare_warnings SELECT * FROM t1_will_crash; --disable_prepare_warnings DROP TABLE t1_will_crash;