mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
ce30b928b7
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
30 lines
1.3 KiB
Text
30 lines
1.3 KiB
Text
--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;
|