mariadb/mysql-test/suite/parts/t/partition_repair_myisam.test

31 lines
1.3 KiB
Text
Raw Normal View History

Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Problem was that auto_repair, is_crashed and check_and_repair was not implemented in ha_partition. Solution, implemented them as loop over all partitions for is_crashed and check_and_repair, and using the first partition for auto_repair. (Recommit after fixing review comments) mysql-test/lib/mtr_report.pl: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Added filter for crashed tables, when testing auto repair mysql-test/std_data/corrupt_t1#P#p1.MYI: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Corrupt MYI file for testing auto repair mysql-test/std_data/corrupt_t1.MYI: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Corrupt MYI file for testing auto repair mysql-test/suite/parts/r/partition_repair_myisam.result: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Result file for testing auto repair of crashed myisam partitions mysql-test/suite/parts/t/partition_repair_myisam-master.opt: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables opt file for testing auto repair of crashed myisam partitions mysql-test/suite/parts/t/partition_repair_myisam.test: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Test file for testing auto repair of crashed myisam partitions sql/ha_partition.cc: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Added auto_repair as returning the first partitions auto_repair Added is_crashed and check_and_repair as loop over all partitions sql/ha_partition.h: Bug#35161: --myisam-recover does not work for partitioned MyISAM tables Activating check_and_repair, auto_repair and is_crashed
2008-07-07 17:54:42 +02:00
--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;
--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
--remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI
--copy_file std_data/corrupt_t1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash.MYI
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
--remove_file $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI
--copy_file std_data/corrupt_t1#P#p1.MYI $MYSQLTEST_VARDIR/master-data/test/t1_will_crash#P#p1.MYI
SELECT * FROM t1_will_crash;
DROP TABLE t1_will_crash;