diff options
Diffstat (limited to 'mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result')
-rw-r--r-- | mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result | 6548 |
1 files changed, 6548 insertions, 0 deletions
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result new file mode 100644 index 00000000000..a43fcbf1f37 --- /dev/null +++ b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result @@ -0,0 +1,6548 @@ +call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was"); +call mtr.add_suppression("table .* does not exist in the InnoDB internal"); +call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table "); +# Test crash recovery in fast_alter_partition_table. +# +# Bug#53676: Unexpected errors and possible table corruption on +# ADD PARTITION and LOCK TABLE +# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA +# after timed out COALESCE PARTITION +# Extended crash recovery testing of fast_alter_partition_table. +call mtr.add_suppression("Attempting backtrace. You can use the following information to find out"); +call mtr.add_suppression("Crashing at"); +call mtr.add_suppression("Failing at"); +flush tables; +# Iterating 17 crash-points +set @save_dbug= @@debug_dbug; +# Crash-point 1: crash_add_partition_1 +set @@debug_dbug= "+d,crash_add_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_1: AFTER crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 2: crash_add_partition_2 +set @@debug_dbug= "+d,crash_add_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_2: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 3: crash_add_partition_3 +set @@debug_dbug= "+d,crash_add_partition_3"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_3: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_3: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_3: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 4: crash_alter_partition_alloc_parts +set @@debug_dbug= "+d,crash_alter_partition_alloc_parts"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_alloc_parts: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_alter_partition_alloc_parts: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_alloc_parts: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 5: crash_alter_partition_add +set @@debug_dbug= "+d,crash_alter_partition_add"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_add: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_alter_partition_add: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_add: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 6: crash_add_partition_4 +set @@debug_dbug= "+d,crash_add_partition_4"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_4: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_4: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_4: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 7: crash_add_partition_5 +set @@debug_dbug= "+d,crash_add_partition_5"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 8: crash_add_partition_6 +set @@debug_dbug= "+d,crash_add_partition_6"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_6: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_6: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_6: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 9: crash_add_partition_7 +set @@debug_dbug= "+d,crash_add_partition_7"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_7: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_7: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +# d,crash_add_partition_7: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 10: crash_add_partition_8 +set @@debug_dbug= "+d,crash_add_partition_8"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_add_partition_8: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_add_partition_8: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_add_partition_8: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 11: crash_alter_partition_binlog_1 +set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_alter_partition_binlog_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 12: crash_alter_partition_binlog_2 +set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_alter_partition_binlog_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 13: crash_done_partition_1 +set @@debug_dbug= "+d,crash_done_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_done_partition_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB, + PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)) +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 14: crash_done_partition_2 +set @@debug_dbug= "+d,crash_done_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_done_partition_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB, + PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)) +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 15: crash_fail_partition_1,fail_add_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 16: crash_fail_partition_2,fail_add_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 ADD PARTITION +(PARTITION p15 VALUES IN (20,21,22,23,24)); +# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Iterating 16 crash-points +set @save_dbug= @@debug_dbug; +# Crash-point 1: crash_drop_partition_1 +set @@debug_dbug= "+d,crash_drop_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_1: AFTER crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 2: crash_drop_partition_2 +set @@debug_dbug= "+d,crash_drop_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_2: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 3: crash_drop_partition_3 +set @@debug_dbug= "+d,crash_drop_partition_3"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_3: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_3: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_3: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 4: crash_drop_partition_4 +set @@debug_dbug= "+d,crash_drop_partition_4"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_4: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_4: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_4: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 5: crash_drop_partition_5 +set @@debug_dbug= "+d,crash_drop_partition_5"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 6: crash_alter_partition_rename_table +set @@debug_dbug= "+d,crash_alter_partition_rename_table"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_rename_table: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_alter_partition_rename_table: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_rename_table: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 7: crash_drop_partition_6 +set @@debug_dbug= "+d,crash_drop_partition_6"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_6: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_6: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_6: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 8: crash_drop_partition_7 +set @@debug_dbug= "+d,crash_drop_partition_7"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_7: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_7: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +# d,crash_drop_partition_7: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 9: crash_drop_partition_8 +set @@debug_dbug= "+d,crash_drop_partition_8"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_drop_partition_8: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_drop_partition_8: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_drop_partition_8: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 10: crash_alter_partition_binlog_1 +set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_alter_partition_binlog_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 11: crash_alter_partition_binlog_2 +set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_alter_partition_binlog_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 12: crash_done_partition_1 +set @@debug_dbug= "+d,crash_done_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_done_partition_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 13: crash_done_partition_2 +set @@debug_dbug= "+d,crash_done_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_done_partition_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 DROP PARTITION p10, p20; +# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Iterating 29 crash-points +set @save_dbug= @@debug_dbug; +# Crash-point 1: crash_change_partition_1 +set @@debug_dbug= "+d,crash_change_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_1: AFTER crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 2: crash_change_partition_2 +set @@debug_dbug= "+d,crash_change_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_2: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 3: crash_change_partition_3 +set @@debug_dbug= "+d,crash_change_partition_3"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_3: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_3: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_3: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 4: crash_alter_partition_alloc_parts +set @@debug_dbug= "+d,crash_alter_partition_alloc_parts"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_alloc_parts: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_alloc_parts: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_alloc_parts: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 5: crash_alter_partition_add +set @@debug_dbug= "+d,crash_alter_partition_add"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_add: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_add: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_add: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 6: crash_change_partition_add_parts_1 +set @@debug_dbug= "+d,crash_change_partition_add_parts_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_add_parts_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_add_parts_1: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_add_parts_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 7: crash_change_partition_add_parts_2 +set @@debug_dbug= "+d,crash_change_partition_add_parts_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_add_parts_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_add_parts_2: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_add_parts_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 8: crash_change_partition_add_parts_3 +set @@debug_dbug= "+d,crash_change_partition_add_parts_3"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_add_parts_3: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_add_parts_3: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_add_parts_3: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 9: crash_change_partition_4 +set @@debug_dbug= "+d,crash_change_partition_4"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_4: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_4: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_4: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 10: crash_change_partition_5 +set @@debug_dbug= "+d,crash_change_partition_5"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 11: crash_alter_partition_rename_table +set @@debug_dbug= "+d,crash_alter_partition_rename_table"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_rename_table: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_rename_table: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_rename_table: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 12: crash_alter_partition_rename_to_backup +set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_rename_to_backup: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_rename_to_backup: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_rename_to_backup: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 13: crash_change_partition_rename_parts_1 +set @@debug_dbug= "+d,crash_change_partition_rename_parts_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_rename_parts_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_rename_parts_1: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_rename_parts_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 14: crash_alter_partition_rename_added_part +set @@debug_dbug= "+d,crash_alter_partition_rename_added_part"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_rename_added_part: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_rename_added_part: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_rename_added_part: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 15: crash_change_partition_rename_parts_2 +set @@debug_dbug= "+d,crash_change_partition_rename_parts_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_rename_parts_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_rename_parts_2: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_rename_parts_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 16: crash_alter_partition_rename_drop_backup +set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_rename_drop_backup: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_rename_drop_backup: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_rename_drop_backup: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 17: crash_change_partition_6 +set @@debug_dbug= "+d,crash_change_partition_6"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_6: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_6: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_6: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 18: crash_change_partition_7 +set @@debug_dbug= "+d,crash_change_partition_7"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_7: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_7: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_7: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 19: crash_change_partition_8 +set @@debug_dbug= "+d,crash_change_partition_8"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_8: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_8: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +# d,crash_change_partition_8: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 20: crash_change_partition_9 +set @@debug_dbug= "+d,crash_change_partition_9"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_change_partition_9: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_change_partition_9: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_change_partition_9: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 21: crash_alter_partition_binlog_1 +set @@debug_dbug= "+d,crash_alter_partition_binlog_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_binlog_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 22: crash_alter_partition_binlog_2 +set @@debug_dbug= "+d,crash_alter_partition_binlog_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_alter_partition_binlog_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_alter_partition_binlog_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_alter_partition_binlog_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 23: crash_done_partition_1 +set @@debug_dbug= "+d,crash_done_partition_1"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_1: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_done_partition_1: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_1: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB, + PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB, + PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)) +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 24: crash_done_partition_2 +set @@debug_dbug= "+d,crash_done_partition_2"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_done_partition_2: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_done_partition_2: AFTER crash +#sql-backup-4-t1.frm +#sql-backup-4-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_done_partition_2: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB, + PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB, + PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2 +master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)) +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 25: crash_fail_partition_1,fail_change_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 26: crash_fail_partition_2,fail_change_partition_5, +set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#TMP#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#TMP#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0#TMP#.ibd +t1#P#p15#SP#p15sp1#TMP#.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p25#SP#p25sp0#TMP#.ibd +t1#P#p25#SP#p25sp1#TMP#.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 27: crash_fail_partition_1,fail_change_partition_6, +set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; +# Crash-point 28: crash_fail_partition_2,fail_change_partition_6, +set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,"; +RESET MASTER; +CREATE TABLE t1 (a INT, b VARCHAR(64)) +ENGINE = 'InnoDB' +PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2 +(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9), +PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19), +PARTITION p20 VALUES IN (25,26,27,28,29), +PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39)); +INSERT INTO t1 VALUES +(1, "Original from partition p0"), +(2, "Original from partition p0"), +(3, "Original from partition p0"), +(4, "Original from partition p0"), +(11, "Original from partition p1"), +(12, "Original from partition p1"), +(13, "Original from partition p1"), +(14, "Original from partition p1"); +# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO +(PARTITION p10 VALUES IN (10,11,12,13,14,15,16), +PARTITION p15 VALUES IN (17,18,19,20,21,22,23), +PARTITION p25 VALUES IN (24,25,26,27,28,29,30)); +# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash +#sql-shadow-t1.frm +#sql-shadow-t1.par +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0#REN#.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1#REN#.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p15#SP#p15sp0.ibd +t1#P#p15#SP#p15sp1.ibd +t1#P#p20#SP#p20sp0#REN#.ibd +t1#P#p20#SP#p20sp1#REN#.ibd +t1#P#p25#SP#p25sp0.ibd +t1#P#p25#SP#p25sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery +db.opt +t1#P#p0#SP#p0sp0.ibd +t1#P#p0#SP#p0sp1.ibd +t1#P#p10#SP#p10sp0.ibd +t1#P#p10#SP#p10sp1.ibd +t1#P#p20#SP#p20sp0.ibd +t1#P#p20#SP#p20sp1.ibd +t1#P#p30#SP#p30sp0.ibd +t1#P#p30#SP#p30sp1.ibd +t1.frm +t1.par +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + `b` varchar(64) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 + PARTITION BY LIST (`a`) +SUBPARTITION BY HASH (`a`) +SUBPARTITIONS 2 +(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB, + PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB, + PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB, + PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB) +SELECT * FROM t1; +a b +1 Original from partition p0 +11 Original from partition p1 +12 Original from partition p1 +13 Original from partition p1 +14 Original from partition p1 +2 Original from partition p0 +3 Original from partition p0 +4 Original from partition p0 +DROP TABLE t1; +set @@debug_dbug= @save_dbug; |