mirror of
https://github.com/MariaDB/server.git
synced 2025-10-15 11:08:40 +03:00
(also 5.5+ solution for bug#11766879/bug#60106) The valgrind warning was due to an unused 'new handler_add_index(...)' which was never freed. The error handling did not work (fails as in bug#11766879) and the implementation was not as transparant as it could, therefore I made it a bit simpler and more transparant to the underlying handlers. This way it follows the api better and the error handling works and is also now tested. Also added a debug test to verify the error handling. Improved according to Jon Olavs review: Added class ha_partition_add_index. Also added base class Sql_alloc to handler_add_index. Update 3.
5875 lines
189 KiB
Plaintext
5875 lines
189 KiB
Plaintext
DROP TABLE IF EXISTS t1;
|
|
#
|
|
# Bug#12696518/Bug#11766879/60106:DIFF BETWEEN # OF INDEXES IN MYSQL
|
|
# VS INNODB, PARTITONING, ON INDEX CREATE
|
|
#
|
|
CREATE TABLE t1
|
|
(a INT PRIMARY KEY,
|
|
b VARCHAR(64))
|
|
ENGINE = InnoDB
|
|
PARTITION BY HASH (a) PARTITIONS 3;
|
|
INSERT INTO t1 VALUES (0, 'first row'), (1, 'second row'), (2, 'Third row');
|
|
INSERT INTO t1 VALUES (3, 'row id 3'), (4, '4 row'), (5, 'row5');
|
|
INSERT INTO t1 VALUES (6, 'X 6 row'), (7, 'Seventh row'), (8, 'Last row');
|
|
ALTER TABLE t1 ADD INDEX new_b_index (b);
|
|
ALTER TABLE t1 DROP INDEX new_b_index;
|
|
SET SESSION debug= "+d,ha_partition_fail_final_add_index";
|
|
ALTER TABLE t1 ADD INDEX (b);
|
|
ERROR HY000: Table has no partition for value 0
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) NOT NULL,
|
|
`b` varchar(64) DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY HASH (a)
|
|
PARTITIONS 3 */
|
|
SELECT * FROM t1;
|
|
a b
|
|
0 first row
|
|
1 second row
|
|
2 Third row
|
|
3 row id 3
|
|
4 4 row
|
|
5 row5
|
|
6 X 6 row
|
|
7 Seventh row
|
|
8 Last row
|
|
FLUSH TABLES;
|
|
CREATE INDEX new_index ON t1 (b);
|
|
ERROR HY000: Table has no partition for value 0
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) NOT NULL,
|
|
`b` varchar(64) DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY HASH (a)
|
|
PARTITIONS 3 */
|
|
SELECT * FROM t1;
|
|
a b
|
|
0 first row
|
|
1 second row
|
|
2 Third row
|
|
3 row id 3
|
|
4 4 row
|
|
5 row5
|
|
6 X 6 row
|
|
7 Seventh row
|
|
8 Last row
|
|
SET SESSION debug= "-d,ha_partition_fail_final_add_index";
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`a` int(11) NOT NULL,
|
|
`b` varchar(64) DEFAULT NULL,
|
|
PRIMARY KEY (`a`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
/*!50100 PARTITION BY HASH (a)
|
|
PARTITIONS 3 */
|
|
DROP TABLE t1;
|
|
call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
|
|
call mtr.add_suppression("InnoDB: Error: table .* does not exist in the InnoDB internal");
|
|
call mtr.add_suppression("InnoDB: Warning: MySQL is trying to drop table ");
|
|
# Test crash and failure 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");
|
|
# Crash testing ADD PARTITION
|
|
SET SESSION debug="+d,crash_add_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_1";
|
|
SET SESSION debug="+d,crash_add_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_2";
|
|
SET SESSION debug="+d,crash_add_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_3";
|
|
SET SESSION debug="+d,crash_add_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_4";
|
|
SET SESSION debug="+d,crash_add_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_5";
|
|
SET SESSION debug="+d,crash_add_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_6";
|
|
SET SESSION debug="+d,crash_add_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_add_partition_7";
|
|
SET SESSION debug="+d,crash_add_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_add_partition_8";
|
|
SET SESSION debug="+d,crash_add_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_add_partition_9";
|
|
SET SESSION debug="+d,crash_add_partition_10";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_add_partition_10";
|
|
# Error recovery testing ADD PARTITION
|
|
SET SESSION debug="+d,fail_add_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_1";
|
|
SET SESSION debug="+d,fail_add_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_2";
|
|
SET SESSION debug="+d,fail_add_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_3";
|
|
SET SESSION debug="+d,fail_add_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_4";
|
|
SET SESSION debug="+d,fail_add_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_5";
|
|
SET SESSION debug="+d,fail_add_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_6";
|
|
SET SESSION debug="+d,fail_add_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_7";
|
|
SET SESSION debug="+d,fail_add_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_8";
|
|
SET SESSION debug="+d,fail_add_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_9";
|
|
SET SESSION debug="+d,fail_add_partition_10";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 ADD PARTITION
|
|
(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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 (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_add_partition_10";
|
|
# Test DROP PARTITION
|
|
SET SESSION debug="+d,crash_drop_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_drop_partition_1";
|
|
SET SESSION debug="+d,crash_drop_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_drop_partition_2";
|
|
SET SESSION debug="+d,crash_drop_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_drop_partition_3";
|
|
SET SESSION debug="+d,crash_drop_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_4";
|
|
SET SESSION debug="+d,crash_drop_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_5";
|
|
SET SESSION debug="+d,crash_drop_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_6";
|
|
SET SESSION debug="+d,crash_drop_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_7";
|
|
SET SESSION debug="+d,crash_drop_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_8";
|
|
SET SESSION debug="+d,crash_drop_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,crash_drop_partition_9";
|
|
# Error recovery DROP PARTITION
|
|
SET SESSION debug="+d,fail_drop_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_1";
|
|
SET SESSION debug="+d,fail_drop_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_2";
|
|
SET SESSION debug="+d,fail_drop_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_3";
|
|
SET SESSION debug="+d,fail_drop_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_4";
|
|
SET SESSION debug="+d,fail_drop_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_5";
|
|
SET SESSION debug="+d,fail_drop_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_6";
|
|
SET SESSION debug="+d,fail_drop_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_7";
|
|
SET SESSION debug="+d,fail_drop_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_8";
|
|
SET SESSION debug="+d,fail_drop_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
DROP TABLE t1;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 DROP PARTITION p10;
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_drop_partition_9";
|
|
# Test change partition (REORGANIZE/REBUILD/COALESCE
|
|
# or ADD HASH PARTITION).
|
|
SET SESSION debug="+d,crash_change_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_change_partition_1";
|
|
SET SESSION debug="+d,crash_change_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_change_partition_2";
|
|
SET SESSION debug="+d,crash_change_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_change_partition_3";
|
|
SET SESSION debug="+d,crash_change_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_change_partition_4";
|
|
SET SESSION debug="+d,crash_change_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 SESSION debug="-d,crash_change_partition_5";
|
|
SET SESSION debug="+d,crash_change_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_6";
|
|
SET SESSION debug="+d,crash_change_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
#sql-t1.frm
|
|
#sql-t1.par
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_7";
|
|
SET SESSION debug="+d,crash_change_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_8";
|
|
SET SESSION debug="+d,crash_change_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_9";
|
|
SET SESSION debug="+d,crash_change_partition_10";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10#TMP#.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20#TMP#.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_10";
|
|
SET SESSION debug="+d,crash_change_partition_11";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_11";
|
|
SET SESSION debug="+d,crash_change_partition_12";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before crash
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# State after crash (before recovery)
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.ibd
|
|
t1.frm
|
|
t1.par
|
|
# State after crash recovery
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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 SESSION debug="-d,crash_change_partition_12";
|
|
# Error recovery change partition (REORGANIZE/REBUILD/COALESCE
|
|
# or ADD HASH PARTITION).
|
|
SET SESSION debug="+d,fail_change_partition_1";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_1";
|
|
SET SESSION debug="+d,fail_change_partition_2";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_2";
|
|
SET SESSION debug="+d,fail_change_partition_3";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_3";
|
|
SET SESSION debug="+d,fail_change_partition_4";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_4";
|
|
SET SESSION debug="+d,fail_change_partition_5";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_5";
|
|
SET SESSION debug="+d,fail_change_partition_6";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_6";
|
|
SET SESSION debug="+d,fail_change_partition_7";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_7";
|
|
SET SESSION debug="+d,fail_change_partition_8";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_8";
|
|
SET SESSION debug="+d,fail_change_partition_9";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_9";
|
|
SET SESSION debug="+d,fail_change_partition_10";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_10";
|
|
SET SESSION debug="+d,fail_change_partition_11";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_11";
|
|
SET SESSION debug="+d,fail_change_partition_12";
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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;
|
|
# Same test under LOCK TABLE
|
|
CREATE TABLE t1 (a INT, b VARCHAR(64))
|
|
ENGINE = 'InnoDB'
|
|
PARTITION BY LIST (a)
|
|
(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));
|
|
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");
|
|
# State before failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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) */
|
|
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
|
|
LOCK TABLE t1 WRITE;
|
|
ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
|
|
(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
|
|
ERROR HY000: Unknown error
|
|
# State after failure
|
|
t1#P#p0.ibd
|
|
t1#P#p10.ibd
|
|
t1#P#p20.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
|
|
/*!50100 PARTITION BY LIST (a)
|
|
(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,17,18,19) ENGINE = InnoDB,
|
|
PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29) 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
|
|
UNLOCK TABLES;
|
|
DROP TABLE t1;
|
|
SET SESSION debug="-d,fail_change_partition_12";
|