mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
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
This commit is contained in:
parent
41c80004ff
commit
ce30b928b7
8 changed files with 158 additions and 4 deletions
56
mysql-test/suite/parts/r/partition_repair_myisam.result
Normal file
56
mysql-test/suite/parts/r/partition_repair_myisam.result
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
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;
|
||||
# replacing t1.MYI with a corrupt + unclosed one created by doing:
|
||||
# 'create table t1 (a int key(a))' head -c1024 t1.MYI > corrupt_t1.MYI
|
||||
SELECT * FROM t1_will_crash;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
Warnings:
|
||||
Error 145 Table './test/t1_will_crash' is marked as crashed and should be repaired
|
||||
Error 1194 Table 't1_will_crash' is marked as crashed and should be repaired
|
||||
Error 1034 1 client is using or hasn't closed the table properly
|
||||
Error 1034 Size of indexfile is: 1024 Should be: 2048
|
||||
Error 1034 Size of datafile is: 77 Should be: 7
|
||||
Error 1034 Number of rows changed from 1 to 11
|
||||
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;
|
||||
# replacing t1#P#p1.MYI with a corrupt + unclosed one created by doing:
|
||||
# 'create table t1 (a int key(a)) partition by hash (a) partitions 3'
|
||||
# head -c1024 t1#P#p1.MYI > corrupt_t1#P#p1.MYI
|
||||
SELECT * FROM t1_will_crash;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
Warnings:
|
||||
Error 145 Table './test/t1_will_crash#P#p1' is marked as crashed and should be repaired
|
||||
Error 1194 Table 't1_will_crash' is marked as crashed and should be repaired
|
||||
Error 1034 1 client is using or hasn't closed the table properly
|
||||
Error 1034 Size of indexfile is: 1024 Should be: 2048
|
||||
Error 1034 Size of datafile is: 28 Should be: 7
|
||||
Error 1034 Number of rows changed from 1 to 4
|
||||
DROP TABLE t1_will_crash;
|
||||
Loading…
Add table
Add a link
Reference in a new issue