summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2021-12-05 22:20:20 +0300
committerAleksey Midenkov <midenok@gmail.com>2022-06-16 01:39:01 +0300
commit312a5ecdc41b1a5771bdbb3015eb2a928f03b89c (patch)
tree8578831b23276edd8ba5f927820d53042f03e639
parent18df0f35ab696e2ffb2dcc8a1cdefcdfd2898276 (diff)
downloadmariadb-git-bb-10.7-midenok-MDEV-27180.tar.gz
MDEV-27180 Fully atomic partitioning DDL operationsbb-10.7-midenok-MDEV-27180
Atomic DDL for partitioning originally covers crash-safety but it does not recover fully from failures. F.ex. if error happened during the rename or drop of partitions the ALTER operation does not return the table to its original state. The patch solves the above problem similarly to MDEV-25292 (atomic CREATE OR REPLACE): new partitions are created as temporary, old partitions are backed up, everything is guarded by two DDL log chains: rollback and cleanup. Rollback chain contains the actions that bring back the original table. Cleanup chain deletes the backup files. The generic operation of alter partition is as follows: 1. Create new partitions as tmp partitions; 2. Fill TMP partitions with data; 3. Rename old and not needed partitions to backup partitions; 4. Rename tmp partitions to original partititions; 5. Do any required logging (mariabackup, binary); 6. If everything is ok, drop the backup partitions; 7. In the case any of pp.1-5 fails drop new partitions, rename back backup partitions. Each rename operation is executed right after the corresponding DDL logging. Originally they were done in different loops: write_log_changed_partitions(), mysql_change_partitions(), etc. The actual table operations were done in ha_partition handler: ha_change_partitions(), ha_drop_partitions(), ha_rename_partitions(). Now these calls are deprecated and removed. Instead the above deprecated interfaces the following classes now handle DDL logging and table operations: Alter_partition_logger Alter_partition_add Alter_partition_change Alter_partition_logger handles the basic operation, DDL logging and table renames. Alter_partition_add does the stuff for adding the partitions. Alter_partition_change combines Alter_partition_logger and Alter_partition_add for complex operations such as REORGANIZE. ha_partition::change_partitions() call was not fully removed. Stages 1-4 from that call was renamed to allocate_partitions() and that is used by Alter_partition_add for initializing file handler arrays (m_added_file, m_reorged_file). ha_partition::prepare_new_partition() is renamed to create_partition() because it actually does ha_create() and the new name better describes what it does. DDL_LOG_DELETE/DDL_LOG_RENAME/DDL_LOG_REPLACE are now pure file operations. To process both .par and .frm files we now issue two actions instead of one. That makes interface more simple and that will be used by MDEV-16417 in future. All the table operations are done via other actions, such as DDL_LOG_RENAME_TABLE, DDL_LOG_DROP_TABLE, etc. DDL_LOG_RENAME_TABLE has new alter_partition option. With this option it does simple ha_rename_table() which is needed for renaming the partitions. The action for renaming the partitions must start from phase DDL_RENAME_PHASE_TABLE. The testing was refactored a bit. Many new fail/crash points was added, the test was powered by binary and mariabackup logging, it tests more ALTER commands with variations of partitions-only and subpartitions, without and under LOCK TABLES. EXCHANGE PARTITION was fixed: after failure under LOCK TABLES the table became unlocked. Fixed by correcting place of reopen_tables(). Tested by partition_debug.
-rw-r--r--mysql-test/include/print_ddl_log.inc3
-rw-r--r--mysql-test/suite/atomic/alter_partition,innodb.rdiff150
-rw-r--r--mysql-test/suite/atomic/alter_partition.result142
-rw-r--r--mysql-test/suite/atomic/alter_partition.test9
-rw-r--r--mysql-test/suite/parts/inc/define_points_add.inc21
-rw-r--r--mysql-test/suite/parts/inc/define_points_change.inc33
-rw-r--r--mysql-test/suite/parts/inc/define_points_common.inc4
-rw-r--r--mysql-test/suite/parts/inc/define_points_convin.inc22
-rw-r--r--mysql-test/suite/parts/inc/define_points_convout.inc23
-rw-r--r--mysql-test/suite/parts/inc/define_points_drop.inc20
-rw-r--r--mysql-test/suite/parts/inc/iterate_points_crash.inc13
-rw-r--r--mysql-test/suite/parts/inc/iterate_points_fail.inc13
-rw-r--r--mysql-test/suite/parts/inc/partition_crash.inc79
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_add.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_change.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_drop.inc31
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_exchange.inc18
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_t2.inc12
-rw-r--r--mysql-test/suite/parts/inc/partition_fail.inc94
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_add.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_change.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_drop.inc31
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_exchange.inc18
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_t2.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_mgm_crash.combinations2
-rw-r--r--mysql-test/suite/parts/inc/partition_mgm_crash.inc127
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result6548
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash.result12789
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result8795
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail.result16885
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result8123
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash.result14724
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result10232
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail.result18627
-rw-r--r--mysql-test/suite/parts/r/partition_debug.result4062
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result1108
-rw-r--r--mysql-test/suite/parts/t/partition_debug.test114
-rw-r--r--mysql-test/suite/parts/t/partition_debug_innodb.test3
-rw-r--r--sql/ddl_log.cc201
-rw-r--r--sql/ddl_log.h21
-rw-r--r--sql/ha_partition.cc526
-rw-r--r--sql/ha_partition.h20
-rw-r--r--sql/handler.cc62
-rw-r--r--sql/handler.h21
-rw-r--r--sql/lex_string.h4
-rw-r--r--sql/partition_element.h25
-rw-r--r--sql/partition_info.h4
-rw-r--r--sql/sql_partition.cc1940
-rw-r--r--sql/sql_partition.h11
-rw-r--r--sql/sql_partition_admin.cc61
-rw-r--r--sql/sql_rename.cc2
-rw-r--r--sql/sql_table.cc84
-rw-r--r--sql/sql_table.h34
-rw-r--r--sql/sql_trigger.cc4
54 files changed, 98317 insertions, 7769 deletions
diff --git a/mysql-test/include/print_ddl_log.inc b/mysql-test/include/print_ddl_log.inc
index 7b09c62231e..7a5c27711ef 100644
--- a/mysql-test/include/print_ddl_log.inc
+++ b/mysql-test/include/print_ddl_log.inc
@@ -1,6 +1,9 @@
+if (!$keep_include_silent)
+{
--echo #
--echo # Reading backup ddl log file
--echo #
+}
let MYSQLD_DATADIR= `select @@datadir`;
perl;
diff --git a/mysql-test/suite/atomic/alter_partition,innodb.rdiff b/mysql-test/suite/atomic/alter_partition,innodb.rdiff
index 571136eb626..531df811479 100644
--- a/mysql-test/suite/atomic/alter_partition,innodb.rdiff
+++ b/mysql-test/suite/atomic/alter_partition,innodb.rdiff
@@ -131,7 +131,7 @@
@@ -185,12 +161,9 @@
12
22
- # CRASH: crash_convert_partition_6
+ # CRASH: crash_alter_partition_rename_table
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1.MYD
@@ -147,7 +147,7 @@
@@ -206,12 +179,9 @@
12
22
- # CRASH: crash_convert_partition_7
+ # CRASH: crash_convert_partition_6
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1.MYD
@@ -163,6 +163,22 @@
@@ -227,12 +197,9 @@
12
22
+ # CRASH: crash_convert_partition_7
+-t1#P#p0.MYD
+-t1#P#p0.MYI
+-t1#P#p1.MYD
+-t1#P#p1.MYI
+-t1#P#pn.MYD
+-t1#P#pn.MYI
++t1#P#p0.ibd
++t1#P#p1.ibd
++t1#P#pn.ibd
+ t1.frm
+ t1.par
+ Table Create Table
+@@ -248,12 +215,9 @@
+ 12
+ 22
# CRASH: crash_convert_partition_8
-t1#P#p0.MYD
-t1#P#p0.MYI
@@ -176,65 +192,56 @@
t1.frm
t1.par
Table Create Table
-@@ -248,15 +215,12 @@
+@@ -269,12 +233,9 @@
12
22
# CRASH: crash_convert_partition_9
-t1#P#p0.MYD
-t1#P#p0.MYI
+-t1#P#p1.MYD
+-t1#P#p1.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
++t1#P#p1.ibd
+t1#P#pn.ibd
t1.frm
t1.par
--tp1.MYD
--tp1.MYI
- tp1.frm
-+tp1.ibd
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
- t1 CREATE TABLE `t1` (
-@@ -275,15 +239,12 @@
- x
+@@ -290,12 +251,9 @@
12
- # CRASH: crash_convert_partition_10
+ 22
+ # CRASH: crash_alter_partition_binlog_1
-t1#P#p0.MYD
-t1#P#p0.MYI
+-t1#P#p1.MYD
+-t1#P#p1.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
++t1#P#p1.ibd
+t1#P#pn.ibd
t1.frm
t1.par
--tp1.MYD
--tp1.MYI
- tp1.frm
-+tp1.ibd
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
- t1 CREATE TABLE `t1` (
-@@ -302,15 +263,12 @@
- x
+@@ -311,12 +269,9 @@
12
- # CRASH: crash_convert_partition_11
+ 22
+ # CRASH: crash_alter_partition_binlog_2
-t1#P#p0.MYD
-t1#P#p0.MYI
+-t1#P#p1.MYD
+-t1#P#p1.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
++t1#P#p1.ibd
+t1#P#pn.ibd
t1.frm
t1.par
--tp1.MYD
--tp1.MYI
- tp1.frm
-+tp1.ibd
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
- t1 CREATE TABLE `t1` (
-@@ -330,14 +288,10 @@
- 12
+@@ -333,14 +288,10 @@
+ 22
# QUERY: ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
# NO CRASH: crash_create_before_create_frm
-t1#P#p0.MYD
@@ -252,7 +259,7 @@
t1.frm
t1.par
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
-@@ -357,14 +311,10 @@
+@@ -360,14 +311,10 @@
32
39
# NO CRASH: crash_alter_partition_after_create_frm
@@ -271,7 +278,7 @@
t1.frm
t1.par
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
-@@ -384,14 +334,10 @@
+@@ -387,14 +334,10 @@
32
39
# NO CRASH: crash_alter_partition_after_write_frm
@@ -290,7 +297,7 @@
t1.frm
t1.par
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
-@@ -411,17 +357,13 @@
+@@ -414,17 +357,13 @@
32
39
# CRASH: crash_convert_partition_1
@@ -312,7 +319,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -442,17 +384,13 @@
+@@ -445,17 +384,13 @@
32
39
# CRASH: crash_convert_partition_2
@@ -334,7 +341,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -473,17 +411,13 @@
+@@ -476,17 +411,13 @@
32
39
# CRASH: crash_convert_partition_3
@@ -356,7 +363,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -504,17 +438,13 @@
+@@ -507,17 +438,13 @@
32
39
# CRASH: crash_convert_partition_4
@@ -378,7 +385,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -535,17 +465,13 @@
+@@ -538,17 +465,13 @@
32
39
# CRASH: crash_convert_partition_5
@@ -400,7 +407,29 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -566,17 +492,13 @@
+@@ -569,17 +492,13 @@
+ 32
+ 39
+ # CRASH: crash_alter_partition_rename_table
+-t1#P#p0.MYD
+-t1#P#p0.MYI
+-t1#P#p1.MYD
+-t1#P#p1.MYI
+-t1#P#pn.MYD
+-t1#P#pn.MYI
++t1#P#p0.ibd
++t1#P#p1.ibd
++t1#P#pn.ibd
+ t1.frm
+ t1.par
+-tp2.MYD
+-tp2.MYI
+ tp2.frm
++tp2.ibd
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `x` int(11) DEFAULT NULL
+@@ -600,17 +519,13 @@
32
39
# CRASH: crash_convert_partition_6
@@ -422,7 +451,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -597,17 +519,13 @@
+@@ -631,17 +546,13 @@
32
39
# CRASH: crash_convert_partition_7
@@ -444,7 +473,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -628,17 +546,13 @@
+@@ -662,17 +573,13 @@
32
39
# CRASH: crash_convert_partition_8
@@ -466,7 +495,7 @@
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
-@@ -659,14 +573,10 @@
+@@ -693,17 +600,13 @@
32
39
# CRASH: crash_convert_partition_9
@@ -474,52 +503,61 @@
-t1#P#p0.MYI
-t1#P#p1.MYD
-t1#P#p1.MYI
--t1#P#p2.MYD
--t1#P#p2.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
+t1#P#p1.ibd
-+t1#P#p2.ibd
+t1#P#pn.ibd
t1.frm
t1.par
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
-@@ -686,14 +596,10 @@
+-tp2.MYD
+-tp2.MYI
+ tp2.frm
++tp2.ibd
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `x` int(11) DEFAULT NULL
+@@ -724,17 +627,13 @@
32
39
- # CRASH: crash_convert_partition_10
+ # CRASH: crash_alter_partition_binlog_1
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1.MYD
-t1#P#p1.MYI
--t1#P#p2.MYD
--t1#P#p2.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
+t1#P#p1.ibd
-+t1#P#p2.ibd
+t1#P#pn.ibd
t1.frm
t1.par
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
-@@ -713,14 +619,10 @@
+-tp2.MYD
+-tp2.MYI
+ tp2.frm
++tp2.ibd
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `x` int(11) DEFAULT NULL
+@@ -755,17 +654,13 @@
32
39
- # CRASH: crash_convert_partition_11
+ # CRASH: crash_alter_partition_binlog_2
-t1#P#p0.MYD
-t1#P#p0.MYI
-t1#P#p1.MYD
-t1#P#p1.MYI
--t1#P#p2.MYD
--t1#P#p2.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
+t1#P#p0.ibd
+t1#P#p1.ibd
-+t1#P#p2.ibd
+t1#P#pn.ibd
t1.frm
t1.par
- master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
+-tp2.MYD
+-tp2.MYI
+ tp2.frm
++tp2.ibd
+ Table Create Table
+ t1 CREATE TABLE `t1` (
+ `x` int(11) DEFAULT NULL
diff --git a/mysql-test/suite/atomic/alter_partition.result b/mysql-test/suite/atomic/alter_partition.result
index 250aa56b7a1..4e963256683 100644
--- a/mysql-test/suite/atomic/alter_partition.result
+++ b/mysql-test/suite/atomic/alter_partition.result
@@ -184,7 +184,7 @@ x
2
12
22
-# CRASH: crash_convert_partition_6
+# CRASH: crash_alter_partition_rename_table
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
@@ -205,7 +205,7 @@ x
2
12
22
-# CRASH: crash_convert_partition_7
+# CRASH: crash_convert_partition_6
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
@@ -226,7 +226,7 @@ x
2
12
22
-# CRASH: crash_convert_partition_8
+# CRASH: crash_convert_partition_7
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
@@ -247,87 +247,90 @@ x
2
12
22
-# CRASH: crash_convert_partition_9
+# CRASH: crash_convert_partition_8
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-tp1.MYD
-tp1.MYI
-tp1.frm
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
+ PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
-22
-Table Create Table
-tp1 CREATE TABLE `tp1` (
- `x` int(11) DEFAULT NULL
-) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
-x
12
-# CRASH: crash_convert_partition_10
+22
+# CRASH: crash_convert_partition_9
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-tp1.MYD
-tp1.MYI
-tp1.frm
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
+ PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
-22
-Table Create Table
-tp1 CREATE TABLE `tp1` (
- `x` int(11) DEFAULT NULL
-) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
-x
12
-# CRASH: crash_convert_partition_11
+22
+# CRASH: crash_alter_partition_binlog_1
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-tp1.MYD
-tp1.MYI
-tp1.frm
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p1 TO TABLE tp1
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
+ PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
+12
22
+# CRASH: crash_alter_partition_binlog_2
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#pn.MYD
+t1#P#pn.MYI
+t1.frm
+t1.par
Table Create Table
-tp1 CREATE TABLE `tp1` (
+t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+ PARTITION BY RANGE (`x`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
+ PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
+ PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
+2
12
+22
# QUERY: ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
# NO CRASH: crash_create_before_create_frm
t1#P#p0.MYD
@@ -565,6 +568,37 @@ tp2 CREATE TABLE `tp2` (
x
32
39
+# CRASH: crash_alter_partition_rename_table
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#pn.MYD
+t1#P#pn.MYI
+t1.frm
+t1.par
+tp2.MYD
+tp2.MYI
+tp2.frm
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `x` int(11) DEFAULT NULL
+) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+ PARTITION BY RANGE (`x`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
+ PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
+ PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
+x
+2
+12
+22
+Table Create Table
+tp2 CREATE TABLE `tp2` (
+ `x` int(11) DEFAULT NULL
+) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+x
+32
+39
# CRASH: crash_convert_partition_6
t1#P#p0.MYD
t1#P#p0.MYI
@@ -663,13 +697,13 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
+tp2.MYD
+tp2.MYI
+tp2.frm
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
@@ -677,26 +711,30 @@ t1 CREATE TABLE `t1` (
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
- PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE,
- PARTITION `p2` VALUES LESS THAN (40) ENGINE = DEFAULT_ENGINE)
+ PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
12
22
+Table Create Table
+tp2 CREATE TABLE `tp2` (
+ `x` int(11) DEFAULT NULL
+) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+x
32
39
-# CRASH: crash_convert_partition_10
+# CRASH: crash_alter_partition_binlog_1
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
+tp2.MYD
+tp2.MYI
+tp2.frm
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
@@ -704,26 +742,30 @@ t1 CREATE TABLE `t1` (
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
- PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE,
- PARTITION `p2` VALUES LESS THAN (40) ENGINE = DEFAULT_ENGINE)
+ PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
12
22
+Table Create Table
+tp2 CREATE TABLE `tp2` (
+ `x` int(11) DEFAULT NULL
+) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+x
32
39
-# CRASH: crash_convert_partition_11
+# CRASH: crash_alter_partition_binlog_2
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
t1#P#pn.MYD
t1#P#pn.MYI
t1.frm
t1.par
-master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE tp2 TO PARTITION p2 values less than (40)
+tp2.MYD
+tp2.MYI
+tp2.frm
Table Create Table
t1 CREATE TABLE `t1` (
`x` int(11) DEFAULT NULL
@@ -731,12 +773,16 @@ t1 CREATE TABLE `t1` (
PARTITION BY RANGE (`x`)
(PARTITION `p0` VALUES LESS THAN (10) ENGINE = DEFAULT_ENGINE,
PARTITION `p1` VALUES LESS THAN (20) ENGINE = DEFAULT_ENGINE,
- PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE,
- PARTITION `p2` VALUES LESS THAN (40) ENGINE = DEFAULT_ENGINE)
+ PARTITION `pn` VALUES LESS THAN (30) ENGINE = DEFAULT_ENGINE)
x
2
12
22
+Table Create Table
+tp2 CREATE TABLE `tp2` (
+ `x` int(11) DEFAULT NULL
+) ENGINE=DEFAULT_ENGINE DEFAULT CHARSET=latin1 WITH SYSTEM VERSIONING
+x
32
39
Warnings:
diff --git a/mysql-test/suite/atomic/alter_partition.test b/mysql-test/suite/atomic/alter_partition.test
index 23b996cf5a1..d97153de213 100644
--- a/mysql-test/suite/atomic/alter_partition.test
+++ b/mysql-test/suite/atomic/alter_partition.test
@@ -30,13 +30,14 @@ if ($MTR_COMBINATION_ROW)
--disable_query_log
--eval set @@default_storage_engine=$default_engine
+call mtr.add_suppression("Crashing at");
--enable_query_log
--echo # Crash recovery
let $MYSQLD_DATADIR= `SELECT @@datadir`;
-let $crash_count= 14;
+let $crash_count= 15;
let $crash_points='crash_create_before_create_frm',
'crash_alter_partition_after_create_frm',
'crash_alter_partition_after_write_frm',
@@ -45,12 +46,13 @@ let $crash_points='crash_create_before_create_frm',
'crash_convert_partition_3',
'crash_convert_partition_4',
'crash_convert_partition_5',
+ 'crash_alter_partition_rename_table',
'crash_convert_partition_6',
'crash_convert_partition_7',
'crash_convert_partition_8',
'crash_convert_partition_9',
- 'crash_convert_partition_10',
- 'crash_convert_partition_11';
+ 'crash_alter_partition_binlog_1',
+ 'crash_alter_partition_binlog_2';
#let $crash_count= 1;
#let $crash_points= 'crash_convert_partition_10';
@@ -164,6 +166,7 @@ while ($r < $statement_count)
--disable_warnings
drop table t1;
drop table if exists tp1;
+ drop table if exists tp2;
--enable_warnings
}
}
diff --git a/mysql-test/suite/parts/inc/define_points_add.inc b/mysql-test/suite/parts/inc/define_points_add.inc
new file mode 100644
index 00000000000..a3ff4b29e17
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_add.inc
@@ -0,0 +1,21 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'add_partition_1',
+ 'add_partition_2',
+ 'add_partition_3',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_add',
+ 'add_partition_4',
+ 'add_partition_5',
+ 'add_partition_6',
+ 'add_partition_7',
+ 'add_partition_8';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_add_partition_5,',
+ 'fail_partition_2,fail_add_partition_5,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_change.inc b/mysql-test/suite/parts/inc/define_points_change.inc
new file mode 100644
index 00000000000..f4de36e63bf
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_change.inc
@@ -0,0 +1,33 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'change_partition_1',
+ 'change_partition_2',
+ 'change_partition_3',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_add',
+ 'change_partition_add_parts_1',
+ 'change_partition_add_parts_2',
+ 'change_partition_add_parts_3',
+ 'change_partition_4',
+ 'change_partition_5',
+ 'alter_partition_rename_table',
+ 'alter_partition_rename_to_backup',
+ 'change_partition_rename_parts_1',
+ 'alter_partition_rename_added_part',
+ 'change_partition_rename_parts_2',
+ 'alter_partition_rename_drop_backup',
+ 'change_partition_6',
+ 'change_partition_7',
+ 'change_partition_8',
+ 'change_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_change_partition_5,',
+ 'fail_partition_2,fail_change_partition_5,',
+ 'fail_partition_1,fail_change_partition_6,',
+ 'fail_partition_2,fail_change_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_common.inc b/mysql-test/suite/parts/inc/define_points_common.inc
new file mode 100644
index 00000000000..1e7e1f885bf
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_common.inc
@@ -0,0 +1,4 @@
+let $fail_points= 'alter_partition_binlog_1', 'alter_partition_binlog_2';
+let $crash_points= $fail_points,
+ 'done_partition_1',
+ 'done_partition_2';
diff --git a/mysql-test/suite/parts/inc/define_points_convin.inc b/mysql-test/suite/parts/inc/define_points_convin.inc
new file mode 100644
index 00000000000..37de20eadcb
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_convin.inc
@@ -0,0 +1,22 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 CONVERT TABLE .. TO PARTITION ..
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'convert_partition_1',
+ 'convert_partition_2',
+ 'convert_partition_3',
+ 'convert_partition_4',
+ 'convert_partition_5',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_rename_table',
+ 'convert_partition_6',
+ 'convert_partition_7',
+ 'convert_partition_8',
+ 'convert_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_convert_partition_6,',
+ 'fail_partition_2,fail_convert_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_convout.inc b/mysql-test/suite/parts/inc/define_points_convout.inc
new file mode 100644
index 00000000000..fdda1406715
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_convout.inc
@@ -0,0 +1,23 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 CONVERT PARTITION .. TO TABLE ..
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'create_before_create_frm',
+ 'alter_partition_after_write_frm',
+ 'convert_partition_1',
+ 'convert_partition_2',
+ 'convert_partition_3',
+ 'convert_partition_4',
+ 'convert_partition_5',
+ 'alter_partition_rename_table',
+ 'convert_partition_6',
+ 'convert_partition_7',
+ 'convert_partition_8',
+ 'convert_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_convert_partition_6,',
+ 'fail_partition_2,fail_convert_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_drop.inc b/mysql-test/suite/parts/inc/define_points_drop.inc
new file mode 100644
index 00000000000..fb021b6b492
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_drop.inc
@@ -0,0 +1,20 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 DROP PARTITION
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'drop_partition_1',
+ 'drop_partition_2',
+ 'drop_partition_3',
+ 'drop_partition_4',
+ 'drop_partition_5',
+ 'alter_partition_rename_table',
+ 'drop_partition_6',
+ 'drop_partition_7',
+ 'drop_partition_8';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_drop_partition_5,',
+ 'fail_partition_2,fail_drop_partition_5,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/iterate_points_crash.inc b/mysql-test/suite/parts/inc/iterate_points_crash.inc
new file mode 100644
index 00000000000..7495fb19b25
--- /dev/null
+++ b/mysql-test/suite/parts/inc/iterate_points_crash.inc
@@ -0,0 +1,13 @@
+let $point_count=`select field('EOF', $crash_points)`;
+let $p= 1;
+--echo # Iterating $point_count crash-points
+set @save_dbug= @@debug_dbug;
+while ($p < $point_count)
+{
+ let $point= `select concat('crash_', elt($p, $crash_points))`;
+ --echo # Crash-point $p: $point
+ eval set @@debug_dbug= "+d,$point";
+ --source suite/parts/inc/partition_crash.inc
+ set @@debug_dbug= @save_dbug;
+ inc $p;
+}
diff --git a/mysql-test/suite/parts/inc/iterate_points_fail.inc b/mysql-test/suite/parts/inc/iterate_points_fail.inc
new file mode 100644
index 00000000000..51e8d430313
--- /dev/null
+++ b/mysql-test/suite/parts/inc/iterate_points_fail.inc
@@ -0,0 +1,13 @@
+let $point_count=`select field('EOF', $fail_points)`;
+let $p= 1;
+--echo # Iterating $point_count fail-points
+set @save_dbug= @@debug_dbug;
+while ($p < $point_count)
+{
+ let $point= `select concat('fail_', elt($p, $fail_points))`;
+ --echo # Fail-point $p: $point
+ eval set @@debug_dbug= "+d,$point";
+ --source suite/parts/inc/partition_fail.inc
+ set @@debug_dbug= @save_dbug;
+ inc $p;
+}
diff --git a/mysql-test/suite/parts/inc/partition_crash.inc b/mysql-test/suite/parts/inc/partition_crash.inc
index c657ba880c9..0e5e7353812 100644
--- a/mysql-test/suite/parts/inc/partition_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_crash.inc
@@ -1,8 +1,26 @@
# Include file to decrease test code duplication
+let $log_bin= `select @@global.log_bin`;
+if ($log_bin)
+{
+ let $keep_include_silent= 1;
+ let $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+ RESET MASTER;
+}
+
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
---echo # State before crash
+--let $dbug_flag= `select @@session.debug_dbug`
+--echo # $dbug_flag: BEFORE crash
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
@@ -11,12 +29,33 @@
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--disable_query_log
+connect (con_backup,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+--enable_query_log
+
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--disable_reconnect
+let $errno= 0;
# CR_SERVER_LOST
---error 2013
+--error 0, 2013
--eval $crash_statement
---echo # State after crash (before recovery)
+let $error= $errno;
+
+--echo # $dbug_flag: AFTER crash
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP# #tmp# #TMP#
--replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/
@@ -25,7 +64,8 @@ SELECT * FROM t1;
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
---echo # State after crash recovery
+
+--echo # $dbug_flag: AFTER recovery
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
--cat_file $DATADIR.files.txt
@@ -33,4 +73,35 @@ SELECT * FROM t1;
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--source include/print_ddl_log.inc
+--disable_query_log
+if ($error == 0)
+{
+ --connection con_backup
+ backup stage end;
+ --connection default
+}
+--disconnect con_backup
+--enable_query_log
+
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
diff --git a/mysql-test/suite/parts/inc/partition_crash_add.inc b/mysql-test/suite/parts/inc/partition_crash_add.inc
deleted file mode 100644
index 43b0c5c88bd..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_add.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
---echo # Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_change.inc b/mysql-test/suite/parts/inc/partition_crash_change.inc
deleted file mode 100644
index 501bc78a22d..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_change.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
---echo # Test change partition (REORGANIZE/REBUILD/COALESCE
---echo # or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_drop.inc b/mysql-test/suite/parts/inc/partition_crash_drop.inc
deleted file mode 100644
index 80730bb9008..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_drop.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 DROP PARTITION.
---echo # Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_exchange.inc b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
index 32b888707eb..1878d6dd85b 100644
--- a/mysql-test/suite/parts/inc/partition_crash_exchange.inc
+++ b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
@@ -1,30 +1,30 @@
# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_t2.inc b/mysql-test/suite/parts/inc/partition_crash_t2.inc
deleted file mode 100644
index fd88cc60a8d..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_t2.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-# Include file to extend partition_crash with a second table.
-# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
---eval $create_statement2
---eval $insert_statement2
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
---source suite/parts/inc/partition_crash.inc
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
-DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_fail.inc b/mysql-test/suite/parts/inc/partition_fail.inc
index bbe5924e358..0c6a42a8292 100644
--- a/mysql-test/suite/parts/inc/partition_fail.inc
+++ b/mysql-test/suite/parts/inc/partition_fail.inc
@@ -1,5 +1,22 @@
# Include file to decrease test code duplication
+let $log_bin= `select @@global.log_bin`;
+if ($log_bin)
+{
+ RESET MASTER;
+ let $keep_include_silent= 1;
+ let $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+}
+
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
--let $dbug_flag= `select @@session.debug_dbug`
@@ -11,16 +28,64 @@ SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
--disable_abort_on_error
+
+--disable_query_log
+connect (con_backup,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+--enable_query_log
+
--eval $fail_statement
--enable_abort_on_error
--echo # $dbug_flag: AFTER failure
+show warnings;
--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--source include/print_ddl_log.inc
+--disable_query_log
+--connection con_backup
+backup stage end;
+--connection default
+--disconnect con_backup
+--enable_query_log
+
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
+if ($log_bin)
+{
+ RESET MASTER;
+}
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
--echo # $dbug_flag: BEFORE failure (under LOCK TABLE)
@@ -29,15 +94,42 @@ DROP TABLE t1;
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
-LOCK TABLE t1 WRITE;
+if (!$create_statement2)
+{
+ LOCK TABLE t1 WRITE;
+}
+if ($create_statement2)
+{
+ LOCK TABLES t1 WRITE, t2 WRITE;
+}
--disable_abort_on_error
--eval $fail_statement
--enable_abort_on_error
--echo # $dbug_flag: AFTER failure (under LOCK TABLE)
+show warnings;
--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_TABLE_NOT_LOCKED
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_TABLE_NOT_LOCKED
+ --eval $select_statement
+}
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
UNLOCK TABLES;
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
diff --git a/mysql-test/suite/parts/inc/partition_fail_add.inc b/mysql-test/suite/parts/inc/partition_fail_add.inc
deleted file mode 100644
index a7b8dd8aeb4..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_add.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
---echo # Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_change.inc b/mysql-test/suite/parts/inc/partition_fail_change.inc
deleted file mode 100644
index c10d5fecc2e..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_change.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
---echo # Error recovery change partition (REORGANIZE/REBUILD/COALESCE
---echo # or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_drop.inc b/mysql-test/suite/parts/inc/partition_fail_drop.inc
deleted file mode 100644
index df1d28b0bf9..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_drop.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 DROP PARTITION.
---echo # Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_exchange.inc b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
index 33d7bbd1d75..8eed97fe8dc 100644
--- a/mysql-test/suite/parts/inc/partition_fail_exchange.inc
+++ b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
@@ -1,28 +1,28 @@
SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_1";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_2";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_3";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_4";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_5";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_6";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_7";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_8";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_9";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_t2.inc b/mysql-test/suite/parts/inc/partition_fail_t2.inc
deleted file mode 100644
index 301fb005255..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_t2.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# Include file to test failure with error injection.
-# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
---eval $create_statement2
---eval $insert_statement2
---eval $create_statement
---eval $insert_statement
---let $dbug_flag= `select @@session.debug_dbug`
---echo # $dbug_flag: BEFORE failure
---replace_result #p# #P#
-if (!$DATADIR)
-{
- --let $DATADIR= `SELECT @@datadir;`
-}
---list_files $DATADIR/test
-SHOW CREATE TABLE t1;
---sorted_result
-SELECT * FROM t1;
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
-# accept all errors
---disable_abort_on_error
---replace_regex /#sql-exchange-[0-9a-f_\-]*/#sql-exchange/i
---eval $fail_statement
---enable_abort_on_error
---echo # $dbug_flag: AFTER failure
---replace_result #p# #P#
---list_files $DATADIR/test
-SHOW CREATE TABLE t1;
---sorted_result
-SELECT * FROM t1;
-DROP TABLE t1;
---error 0, ER_NO_SUCH_TABLE
-SHOW CREATE TABLE t2;
---sorted_result
---error 0, ER_NO_SUCH_TABLE
-SELECT * FROM t2;
-# TODO: everything fails with ER_NO_SUCH_TABLE
-# but DROP TABLE fails with ER_BAD_TABLE_ERROR! Why?
---error 0, ER_BAD_TABLE_ERROR
-DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_mgm_crash.combinations b/mysql-test/suite/parts/inc/partition_mgm_crash.combinations
new file mode 100644
index 00000000000..17140d0e54d
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_mgm_crash.combinations
@@ -0,0 +1,2 @@
+[partition]
+[subpartition]
diff --git a/mysql-test/suite/parts/inc/partition_mgm_crash.inc b/mysql-test/suite/parts/inc/partition_mgm_crash.inc
index 6607d5cd611..901b77546c8 100644
--- a/mysql-test/suite/parts/inc/partition_mgm_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_mgm_crash.inc
@@ -2,6 +2,8 @@
# also using error injection to test recovery of failures.
# uses $DATADIR and $engine
+--source include/have_binlog_format_statement.inc
+
--echo #
--echo # Bug#53676: Unexpected errors and possible table corruption on
--echo # ADD PARTITION and LOCK TABLE
@@ -9,44 +11,137 @@
--echo # after timed out COALESCE PARTITION
--echo # Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
+let $subpartitioning= ;
+if ($MTR_COMBINATION_SUBPARTITION)
+{
+ # `select()` is used just to put space in front of string...
+ let $subpartitioning=`select(' SUBPARTITION BY HASH(a) SUBPARTITIONS 2')`;
+}
+
+let $drop_statement= ;
let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = $engine
-PARTITION BY LIST (a)
+PARTITION BY LIST (a)$subpartitioning
(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));
-let $insert_statement= 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");
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+ PARTITION p20 VALUES IN (25,26,27,28,29),
+ PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+let $insert_statement= 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");
+--source suite/parts/inc/define_points_add.inc
let $crash_statement= ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+
if ($do_crash)
{
---source suite/parts/inc/partition_crash_add.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_add.inc
+ --source suite/parts/inc/iterate_points_fail.inc
}
-let $crash_statement= ALTER TABLE t1 DROP PARTITION p10;
+
+--source suite/parts/inc/define_points_drop.inc
+let $crash_statement= ALTER TABLE t1 DROP PARTITION p10, p20;
if ($do_crash)
{
---source suite/parts/inc/partition_crash_drop.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_drop.inc
+ --source suite/parts/inc/iterate_points_fail.inc
}
-let $crash_statement= 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));
+
+--source suite/parts/inc/define_points_change.inc
+let $crash_statement= ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+let $fail_statement= $crash_statement;
if ($do_crash)
{
---source suite/parts/inc/partition_crash_change.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
-let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_change.inc
-} \ No newline at end of file
+ --source suite/parts/inc/iterate_points_fail.inc
+}
+
+if ($MTR_COMBINATION_PARTITION)
+{
+ let $crash_statement= ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+
+ --source suite/parts/inc/define_points_convout.inc
+ let $crash_statement= ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ let $drop_statement= DROP TABLE IF EXISTS tp10;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+ let $drop_statement= ;
+
+ --source suite/parts/inc/define_points_convin.inc
+ let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = $engine;
+ let $insert_statement2= INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+ let $crash_statement= ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ let $drop_statement= DROP TABLE IF EXISTS t2;
+ let $show_statement= SHOW CREATE TABLE t2;
+ let $select_statement= SELECT * FROM t2;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+ let $drop_statement= ;
+ let $show_statement= ;
+ let $select_statement= ;
+ let $create_statement2= ;
+ let $insert_statement2= ;
+
+ --source suite/parts/inc/define_points_change.inc
+ let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64))
+ ENGINE = $engine
+ PARTITION BY HASH (a) PARTITIONS 5;
+
+ let $crash_statement= ALTER TABLE t1 COALESCE PARTITION 2;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+}
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result
new file mode 100644
index 00000000000..a43fcbf1f37
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result
@@ -0,0 +1,6548 @@
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
+# Test crash recovery in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash.result b/mysql-test/suite/parts/r/debug_innodb_crash.result
index fc265b4957d..11df4bce8aa 100644
--- a/mysql-test/suite/parts/r/debug_innodb_crash.result
+++ b/mysql-test/suite/parts/r/debug_innodb_crash.result
@@ -9,20 +9,125 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -33,7 +138,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -45,18 +152,23 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -67,7 +179,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -79,18 +193,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -101,7 +229,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -113,20 +243,23 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -137,7 +270,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -149,18 +284,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -171,7 +320,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -183,20 +334,23 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -207,7 +361,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -219,18 +375,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -241,7 +411,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -253,20 +425,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -277,7 +453,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -289,18 +467,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -311,7 +503,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -323,21 +517,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -348,7 +545,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -360,18 +559,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -382,7 +595,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -394,21 +609,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -419,7 +637,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -431,18 +651,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -453,7 +687,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -465,21 +701,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -490,7 +729,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -502,18 +743,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -524,7 +779,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -536,22 +793,492 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -563,7 +1290,9 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -574,19 +1303,36 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -597,7 +1343,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -609,20 +1357,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -634,7 +1386,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -646,18 +1399,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -668,7 +1435,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -680,20 +1449,2598 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -705,7 +4052,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -717,20 +4065,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -741,7 +4101,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -752,18 +4114,29 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_added_part: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -774,7 +4147,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -786,18 +4161,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -808,7 +4197,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -819,20 +4210,29 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_rename_parts_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -843,7 +4243,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -855,18 +4257,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -877,7 +4293,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -888,20 +4306,29 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -912,7 +4339,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -924,18 +4353,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -946,7 +4389,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -957,19 +4402,29 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -979,26 +4434,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1009,7 +4485,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1020,19 +4498,29 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_7: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1042,26 +4530,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1072,7 +4581,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1083,19 +4594,999 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_1: AFTER crash
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1105,26 +5596,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1135,7 +5647,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1146,17 +5660,23 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1166,26 +5686,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1196,7 +5737,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1207,16 +5750,23 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_3: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1226,26 +5776,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1256,7 +5827,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1267,16 +5840,23 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1286,29 +5866,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1319,7 +5917,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1330,20 +5930,24 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1354,7 +5958,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1366,18 +5972,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1388,7 +6008,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1399,22 +6021,25 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_1: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1425,7 +6050,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1437,18 +6064,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1459,7 +6100,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1470,22 +6113,25 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1496,7 +6142,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1508,18 +6156,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1530,7 +6192,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1541,24 +6205,25 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1569,7 +6234,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1581,18 +6248,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1603,7 +6284,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1614,24 +6297,25 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1642,7 +6326,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1654,18 +6340,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1676,7 +6376,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1687,24 +6389,25 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1715,7 +6418,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1727,18 +6432,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1749,7 +6468,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1760,25 +6481,209 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_table: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_rename_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1789,8 +6694,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1802,18 +6708,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1824,7 +6744,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1835,25 +6757,301 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_added_part: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1864,8 +7062,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1877,18 +7076,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1899,7 +7112,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1910,23 +7125,675 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1937,8 +7804,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1950,18 +7818,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1972,7 +7854,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1983,23 +7867,3540 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 19 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_create_before_create_frm
+set @@debug_dbug= "+d,crash_create_before_create_frm";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_create_before_create_frm: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_create_before_create_frm: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_create_before_create_frm: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_alter_partition_after_write_frm
+set @@debug_dbug= "+d,crash_alter_partition_after_write_frm";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_after_write_frm: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_after_write_frm: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_alter_partition_after_write_frm: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 18 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_3: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t2.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2010,8 +11411,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2022,21 +11425,48 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2045,7 +11475,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2056,22 +11488,36 @@ a b
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 server during query
-# State after crash (before recovery)
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2082,8 +11528,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2094,21 +11542,48 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2117,7 +11592,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2128,24 +11605,104 @@ a b
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 server during query
-# State after crash (before recovery)
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2154,8 +11711,2470 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2167,4 +14186,4 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result b/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result
new file mode 100644
index 00000000000..ba8c7f7151b
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result
@@ -0,0 +1,8795 @@
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
+# Test 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");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_fail.result b/mysql-test/suite/parts/r/debug_innodb_fail.result
index 65d13feec62..d9684fb03cd 100644
--- a/mysql-test/suite/parts/r/debug_innodb_fail.result
+++ b/mysql-test/suite/parts/r/debug_innodb_fail.result
@@ -9,20 +9,36 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -33,7 +49,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -45,12 +63,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -61,7 +84,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -73,16 +98,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -93,7 +131,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -106,12 +146,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -122,7 +167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -135,18 +182,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -157,7 +218,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -169,12 +232,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -185,7 +253,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -197,16 +267,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -217,7 +300,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -230,12 +315,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -246,7 +336,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -259,18 +351,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -281,7 +387,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -293,12 +401,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -309,7 +422,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -321,16 +436,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -341,7 +469,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -354,12 +484,275 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -370,7 +763,93 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -383,18 +862,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -405,7 +898,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -417,12 +912,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -433,7 +933,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -445,16 +947,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -465,7 +980,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -478,12 +995,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -494,7 +1016,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -507,18 +1031,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -529,7 +1067,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -541,12 +1081,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -557,7 +1102,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -569,16 +1116,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -589,7 +1149,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -602,12 +1164,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -618,7 +1185,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -631,18 +1200,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -653,7 +1236,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -665,12 +1250,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -681,7 +1271,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -693,16 +1285,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -713,7 +1318,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -726,12 +1333,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -742,7 +1354,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -755,18 +1369,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -777,7 +1405,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -789,12 +1419,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -805,7 +1440,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -817,16 +1454,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -837,7 +1487,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -850,12 +1502,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -866,7 +1523,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -879,18 +1538,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -901,7 +1574,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -913,13 +1588,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -931,7 +1610,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -943,16 +1623,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -963,7 +1656,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -976,13 +1671,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -994,7 +1693,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1007,18 +1707,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
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");
-# d,fail_add_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1029,7 +1743,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1041,13 +1757,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1059,7 +1779,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1070,17 +1791,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
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");
-# d,fail_add_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1091,7 +1826,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1104,13 +1841,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1122,7 +1863,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1135,18 +1877,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
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");
-# d,fail_add_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1157,7 +1913,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1169,13 +1927,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1187,7 +1949,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1198,17 +1961,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
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");
-# d,fail_add_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1219,7 +1996,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1232,13 +2011,17 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1250,7 +2033,8 @@ t1 CREATE TABLE `t1` (
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)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1263,20 +2047,34 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1287,7 +2085,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1298,12 +2098,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1314,7 +2119,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1326,16 +2133,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1346,7 +2166,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1358,12 +2180,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1374,7 +2201,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1387,18 +2216,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1409,7 +2252,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1420,12 +2265,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1436,7 +2286,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1448,16 +2300,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1468,7 +2333,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1480,12 +2347,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1496,7 +2368,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1509,18 +2383,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1531,7 +2419,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1542,12 +2432,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1558,7 +2453,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1570,16 +2467,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1590,7 +2500,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1602,12 +2514,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1618,7 +2535,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1631,18 +2550,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1653,7 +2586,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1664,11 +2599,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1678,24 +2619,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1706,7 +2667,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1718,11 +2681,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1732,27 +2701,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1763,7 +2753,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1774,11 +2766,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,24 +2786,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1816,7 +2834,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1828,11 +2848,186 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1842,27 +3037,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1873,7 +3089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1884,11 +3102,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1898,24 +3122,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1926,7 +3170,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1938,11 +3184,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1952,27 +3204,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1983,7 +3256,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1994,11 +3269,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2008,24 +3289,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2036,7 +3337,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2048,11 +3351,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2062,27 +3371,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2093,7 +3423,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2104,11 +3436,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2118,24 +3456,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2146,7 +3504,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2158,11 +3518,3616 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2172,27 +7137,86 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
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");
-# d,fail_drop_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2203,7 +7227,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2214,11 +7240,20 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2228,24 +7263,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
-# d,fail_drop_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2256,7 +7311,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2268,11 +7325,20 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2282,30 +7348,398 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2316,7 +7750,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2327,14 +7763,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2345,7 +7784,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2357,16 +7798,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2377,7 +7831,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2389,14 +7845,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2407,7 +7866,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2420,18 +7881,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2442,7 +7917,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2453,14 +7930,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2471,7 +7951,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2483,16 +7965,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2503,7 +7998,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2515,14 +8012,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2533,7 +8033,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2546,18 +8048,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2568,7 +8084,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2579,14 +8097,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2597,7 +8118,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2609,16 +8132,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2629,7 +8165,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2641,14 +8179,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2659,7 +8200,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2672,18 +8215,877 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2694,7 +9096,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2705,14 +9109,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2723,7 +9130,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2735,16 +9144,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2755,7 +9177,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2767,14 +9191,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2785,7 +9212,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2798,18 +9227,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2820,7 +9263,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2831,14 +9276,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2849,7 +9297,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2861,16 +9311,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2881,7 +9344,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2893,14 +9358,854 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2911,7 +10216,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2924,18 +10231,199 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2946,7 +10434,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2957,14 +10447,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2975,7 +10468,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2987,16 +10482,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3007,7 +10515,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3019,14 +10529,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3037,7 +10550,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3050,18 +10565,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3072,7 +10601,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3083,15 +10614,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3102,8 +10635,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3115,16 +10649,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3135,7 +10682,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3147,15 +10696,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3166,8 +10717,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3180,18 +10732,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3202,7 +10768,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3213,15 +10781,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3232,8 +10802,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3245,16 +10816,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3265,7 +10849,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3277,15 +10863,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3296,8 +10884,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3310,18 +10899,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3332,7 +10935,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3343,15 +10948,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3362,8 +10969,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3375,16 +10983,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3395,7 +11016,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3407,15 +11030,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3426,8 +11051,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3440,18 +11066,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
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");
-# d,fail_change_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3462,7 +11102,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3473,15 +11115,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3492,8 +11136,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3504,17 +11149,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
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");
-# d,fail_change_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3525,7 +11184,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3537,15 +11198,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3556,8 +11219,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3570,18 +11234,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
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");
-# d,fail_change_partition_11: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3592,7 +11270,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3603,15 +11283,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3622,8 +11304,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3634,17 +11317,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
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");
-# d,fail_change_partition_11: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3655,7 +11352,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3667,15 +11366,17 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3686,8 +11387,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3700,18 +11402,34 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Iterating 15 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_create_before_create_frm
+set @@debug_dbug= "+d,fail_create_before_create_frm";
+RESET MASTER;
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");
-# d,fail_change_partition_12: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3722,7 +11440,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3733,15 +11453,17 @@ a b
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));
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure
+# d,fail_create_before_create_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3752,8 +11474,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3765,16 +11488,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
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");
-# d,fail_change_partition_12: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3785,7 +11524,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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 `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3797,15 +11538,71 @@ a b
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));
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure (under LOCK TABLE)
+# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_alter_partition_after_write_frm
+set @@debug_dbug= "+d,fail_alter_partition_after_write_frm";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3816,8 +11613,8170 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
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)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 14 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3830,4 +19789,4 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result b/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result
new file mode 100644
index 00000000000..14a4a756e5a
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result
@@ -0,0 +1,8123 @@
+# Test crash in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_crash.result b/mysql-test/suite/parts/r/debug_myisam_crash.result
index 2b0f6973228..9184791276d 100644
--- a/mysql-test/suite/parts/r/debug_myisam_crash.result
+++ b/mysql-test/suite/parts/r/debug_myisam_crash.result
@@ -6,22 +6,40 @@
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -32,7 +50,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -44,22 +64,29 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -70,7 +97,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -82,20 +111,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -106,7 +151,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -118,9 +165,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -128,14 +174,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -146,7 +200,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -158,20 +214,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -182,7 +254,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -194,9 +268,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -204,14 +277,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -222,7 +303,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -234,20 +317,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -258,7 +357,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -270,9 +371,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -280,14 +380,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -298,7 +406,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -310,20 +420,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -334,7 +460,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -346,9 +474,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -356,16 +483,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -376,7 +511,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -388,20 +525,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -412,7 +565,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -424,9 +579,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -434,16 +588,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -454,7 +616,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -466,20 +630,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -490,7 +670,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -502,9 +684,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -512,16 +693,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -532,7 +721,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -544,20 +735,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -568,7 +775,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -580,9 +789,8 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -590,11 +798,174 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -602,6 +973,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -613,7 +986,59 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -625,20 +1050,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -649,7 +1090,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -661,19 +1104,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -681,6 +1129,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -692,7 +1142,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -703,21 +1154,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -728,7 +1196,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -740,19 +1210,24 @@ a b
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 server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -760,6 +1235,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -771,7 +1248,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -782,23 +1260,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -809,7 +1302,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -820,22 +1315,36 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -846,7 +1355,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -857,21 +1369,93 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -882,7 +1466,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -893,9 +1480,66 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -903,14 +1547,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -921,7 +1575,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -933,20 +1589,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -957,7 +1629,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -968,9 +1642,9 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -978,14 +1652,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -996,7 +1680,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1008,20 +1694,38 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1032,7 +1736,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1043,9 +1749,108 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1053,12 +1858,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1068,28 +1883,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1100,7 +1938,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1111,9 +1951,8 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1121,12 +1960,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1136,28 +1985,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1168,7 +2040,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1179,9 +2053,8 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1189,12 +2062,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1204,28 +2087,99 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1236,7 +2190,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1247,20 +2203,85 @@ a b
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 server during query
-# State after crash (before recovery)
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_table: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1270,28 +2291,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1302,7 +2346,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1313,18 +2359,31 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_6: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1334,28 +2393,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1366,7 +2448,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1377,18 +2461,437 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1398,31 +2901,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1433,7 +2952,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1444,24 +2965,125 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1472,7 +3094,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1484,20 +3108,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1508,7 +3148,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1519,26 +3161,87 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1549,7 +3252,163 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1561,20 +3420,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1585,7 +3460,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1596,11 +3473,11 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1608,14 +3485,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1626,7 +3511,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1638,20 +3525,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1662,7 +3565,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1673,11 +3578,116 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1687,16 +3697,22 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1707,7 +3723,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1719,20 +3737,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1743,7 +3777,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1754,11 +3790,11 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1768,16 +3804,26 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,7 +3834,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1800,20 +3848,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1824,7 +3888,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1835,11 +3901,11 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1849,16 +3915,26 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1869,7 +3945,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1881,20 +3959,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1905,7 +3999,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1916,11 +4012,11 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1930,11 +4026,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1942,6 +4044,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1952,8 +4056,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1965,20 +4070,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1989,7 +4110,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2000,11 +4123,11 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -2014,11 +4137,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2026,6 +4155,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2036,8 +4167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2049,20 +4181,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2073,7 +4221,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2084,11 +4234,13 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2096,11 +4248,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2108,6 +4266,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2118,8 +4278,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2131,20 +4292,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2155,7 +4332,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2166,23 +4345,1141 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2190,6 +5487,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2200,8 +5499,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2212,21 +5512,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2237,7 +5554,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2248,11 +5567,31 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2260,9 +5599,54 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2270,6 +5654,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2280,8 +5666,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2292,21 +5679,161 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2317,7 +5844,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2328,11 +5858,33 @@ a b
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 server during query
-# State after crash (before recovery)
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2340,9 +5892,167 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2350,6 +6060,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2360,8 +6072,10236 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 19 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_create_before_create_frm
+set @@debug_dbug= "+d,crash_create_before_create_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_create_before_create_frm: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_create_before_create_frm: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_create_before_create_frm: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_alter_partition_after_write_frm
+set @@debug_dbug= "+d,crash_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_after_write_frm: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_after_write_frm: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_alter_partition_after_write_frm: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 18 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_3: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t2.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2373,4 +16313,4 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result b/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result
new file mode 100644
index 00000000000..fa064bfd30b
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result
@@ -0,0 +1,10232 @@
+# Test failures in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_fail.result b/mysql-test/suite/parts/r/debug_myisam_fail.result
index 509cffe4384..730e6d49c95 100644
--- a/mysql-test/suite/parts/r/debug_myisam_fail.result
+++ b/mysql-test/suite/parts/r/debug_myisam_fail.result
@@ -6,22 +6,40 @@
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -32,7 +50,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -44,14 +64,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -62,7 +89,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -74,18 +103,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -96,7 +140,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -109,14 +155,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -127,7 +180,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -140,20 +195,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -164,7 +235,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -176,14 +249,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -194,7 +274,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -206,18 +288,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -228,7 +325,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -241,14 +340,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -259,7 +365,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -272,20 +380,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -296,7 +420,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -308,14 +434,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -326,7 +459,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -338,18 +473,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -360,7 +510,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -373,14 +525,354 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -391,7 +883,50 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -404,20 +939,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -428,7 +979,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -440,14 +993,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -458,7 +1018,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -470,18 +1032,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -492,7 +1069,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -505,14 +1084,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -523,7 +1109,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -536,20 +1124,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -560,7 +1164,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -572,14 +1178,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -590,7 +1203,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -602,18 +1217,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -624,7 +1254,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -637,14 +1269,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -655,7 +1294,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -668,20 +1309,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -692,7 +1349,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -704,14 +1363,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -722,7 +1388,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -734,18 +1402,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -756,7 +1439,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -769,14 +1454,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -787,7 +1479,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -800,20 +1494,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -824,7 +1534,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -836,14 +1548,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -854,7 +1573,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -866,18 +1587,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -888,7 +1624,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -901,14 +1639,21 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -919,7 +1664,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -932,20 +1679,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -956,7 +1719,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -968,9 +1733,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -978,6 +1746,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -989,7 +1759,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1001,18 +1772,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1023,7 +1809,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1036,9 +1824,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1046,6 +1837,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1057,7 +1850,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1070,20 +1864,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_add_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1094,7 +1904,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1106,9 +1918,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1116,6 +1931,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1127,7 +1944,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1138,19 +1956,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_add_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1161,7 +1995,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1174,9 +2010,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1184,6 +2023,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1195,7 +2036,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1208,20 +2050,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_add_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1232,7 +2090,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1244,9 +2104,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1254,6 +2117,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1265,7 +2130,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1276,19 +2142,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_add_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1299,7 +2181,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1312,9 +2196,12 @@ a b
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));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1322,6 +2209,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1333,7 +2222,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1346,22 +2236,38 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1372,7 +2278,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1383,14 +2291,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1401,7 +2316,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1413,18 +2330,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1435,7 +2367,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1447,14 +2381,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1465,7 +2406,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1478,20 +2421,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1502,7 +2461,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1513,14 +2474,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1531,7 +2499,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1543,18 +2513,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1565,7 +2550,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1577,14 +2564,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1595,7 +2589,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1608,20 +2604,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1632,7 +2644,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1643,14 +2657,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1661,7 +2682,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1673,18 +2696,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1695,7 +2733,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1707,14 +2747,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1725,7 +2772,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1738,20 +2787,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1762,7 +2827,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1773,12 +2840,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,26 +2864,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1818,7 +2916,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1830,12 +2930,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1845,29 +2954,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1878,7 +3010,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1889,12 +3023,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1904,26 +3047,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1934,7 +3099,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1946,12 +3113,115 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1961,29 +3231,143 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1994,7 +3378,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2005,12 +3391,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2020,26 +3415,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2050,7 +3467,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2062,12 +3481,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2077,29 +3505,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2110,7 +3561,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2121,12 +3574,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2136,26 +3598,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2166,7 +3650,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2178,12 +3664,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2193,29 +3688,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2226,7 +3744,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2237,12 +3757,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2252,26 +3781,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2282,7 +3833,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2294,12 +3847,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2309,29 +3871,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_drop_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2342,7 +3927,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2353,12 +3940,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2368,26 +3964,181 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_drop_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2398,7 +4149,61 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2410,12 +4215,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2425,32 +4239,54 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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_dbug=@save_dbug;
-# Error recovery change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2461,7 +4297,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2472,16 +4310,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2492,7 +4338,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2504,18 +4352,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2526,7 +4389,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2538,16 +4403,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2558,7 +4431,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2571,20 +4446,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2595,7 +4486,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2606,16 +4499,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2626,7 +4527,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2638,18 +4541,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2660,7 +4578,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2672,16 +4592,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2692,7 +4620,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2705,20 +4635,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2729,7 +4675,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2740,16 +4688,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2760,7 +4716,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2772,18 +4730,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2794,7 +4767,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2806,16 +4781,936 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2826,7 +5721,52 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2839,20 +5779,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2863,7 +5819,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2874,16 +5832,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2894,7 +5860,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2906,18 +5874,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2928,7 +5911,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2940,16 +5925,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2960,7 +5953,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2973,20 +5968,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2997,7 +6008,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3008,16 +6021,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3028,7 +6049,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3040,18 +6063,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3062,7 +6100,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3074,16 +6114,551 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3094,7 +6669,51 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3107,20 +6726,603 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3131,7 +7333,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3142,16 +7346,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3162,7 +7374,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3174,18 +7388,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3196,7 +7425,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3208,16 +7439,24 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3228,7 +7467,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3241,20 +7482,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3265,7 +7522,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3276,11 +7535,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3288,6 +7551,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3298,8 +7563,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3311,18 +7577,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3333,7 +7614,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3345,11 +7628,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3357,6 +7644,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3367,8 +7656,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3381,20 +7671,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3405,7 +7711,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3416,11 +7724,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3428,6 +7740,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3438,8 +7752,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3451,18 +7766,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3473,7 +7803,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3485,11 +7817,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3497,6 +7833,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3507,8 +7845,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3521,20 +7860,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3545,7 +7900,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3556,11 +7913,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3568,6 +7929,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3578,8 +7941,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3591,18 +7955,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3613,7 +7992,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3625,11 +8006,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3637,6 +8022,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3647,8 +8034,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3661,20 +8049,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3685,7 +8089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3696,11 +8102,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3708,6 +8118,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3718,8 +8130,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3730,19 +8143,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3753,7 +8182,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3765,11 +8196,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3777,6 +8212,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3787,8 +8224,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3801,20 +8239,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_11: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3825,7 +8279,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3836,11 +8292,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3848,6 +8308,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3858,8 +8320,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3870,19 +8333,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_11: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3893,7 +8372,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3905,11 +8386,15 @@ a b
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));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3917,6 +8402,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3927,8 +8414,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3941,20 +8429,38 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_12: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3965,7 +8471,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3976,11 +8484,12 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3988,6 +8497,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3998,8 +8509,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4011,18 +8523,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
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");
-# d,fail_change_partition_12: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -4033,7 +8560,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4045,11 +8574,12 @@ a b
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));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure (under LOCK TABLE)
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -4057,6 +8587,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -4067,8 +8599,13177 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Iterating 15 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_create_before_create_frm
+set @@debug_dbug= "+d,fail_create_before_create_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_create_before_create_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_alter_partition_after_write_frm
+set @@debug_dbug= "+d,fail_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 14 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4081,4 +21782,4 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/partition_debug.result b/mysql-test/suite/parts/r/partition_debug.result
index 5afb2b45926..04a27cd9b06 100644
--- a/mysql-test/suite/parts/r/partition_debug.result
+++ b/mysql-test/suite/parts/r/partition_debug.result
@@ -25,23 +25,11 @@ SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -75,9 +63,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_1: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -88,7 +87,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -122,7 +121,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -135,28 +133,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -190,9 +177,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_2: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -203,7 +201,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -237,7 +235,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -250,28 +247,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -305,9 +291,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_3: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -318,7 +315,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -352,7 +349,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -365,28 +361,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -420,11 +405,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_4: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -458,7 +454,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -471,28 +466,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -526,11 +510,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_5: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -564,7 +559,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -577,28 +571,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -632,11 +615,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_6: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_6: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -670,7 +664,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -683,28 +676,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_7: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -738,11 +720,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_7: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_7: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -776,7 +769,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -789,28 +781,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_8: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -844,9 +825,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_8: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -857,7 +849,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_8: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -891,7 +883,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -904,28 +895,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_9: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -959,9 +939,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_9: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -972,7 +963,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_9: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1006,7 +997,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1019,6 +1009,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET @save_dbug=@@debug_dbug;
@@ -1063,21 +1054,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
# d,exchange_partition_fail_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1111,7 +1093,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1124,16 +1105,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_2: BEFORE failure
+# d,exchange_partition_fail_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1167,21 +1150,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_2: AFTER failure
+# d,exchange_partition_fail_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1215,7 +1190,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1228,16 +1202,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_3";
+SET SESSION debug_dbug="+d,exchange_partition_fail_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_3: BEFORE failure
+# d,exchange_partition_fail_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1271,21 +1247,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t2' to './test/#sql-exchange' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_3: AFTER failure
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1319,7 +1286,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1332,16 +1298,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_4: BEFORE failure
+# d,exchange_partition_fail_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1375,21 +1343,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_4: AFTER failure
+# d,exchange_partition_fail_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1423,7 +1383,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1436,16 +1395,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_5";
+SET SESSION debug_dbug="+d,exchange_partition_fail_3";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_5: BEFORE failure
+# d,exchange_partition_fail_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1479,21 +1440,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_5: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1527,7 +1479,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1540,16 +1491,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_6";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_6: BEFORE failure
+# d,exchange_partition_fail_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1583,21 +1536,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_6: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1631,7 +1576,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1644,16 +1588,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+SET SESSION debug_dbug="+d,exchange_partition_fail_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_7: BEFORE failure
+# d,exchange_partition_fail_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1687,21 +1633,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/#sql-exchange' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_7: AFTER failure
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1735,7 +1672,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1748,16 +1684,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_8";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_8: BEFORE failure
+# d,exchange_partition_fail_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1791,21 +1729,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_8: AFTER failure
+# d,exchange_partition_fail_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1839,7 +1769,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1852,16 +1781,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+SET SESSION debug_dbug="+d,exchange_partition_fail_5";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_9: BEFORE failure
+# d,exchange_partition_fail_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1895,21 +1826,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_9: AFTER failure
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1931,19 +1853,18 @@ t1 CREATE TABLE `t1` (
PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
a b
+1 Original from partition p0
11 Original from partition p1
12 Original from partition p1
13 Original from partition p1
14 Original from partition p1
+2 Original from partition p0
21 Original from partition p1
22 Original from partition p1
23 Original from partition p1
24 Original from partition p1
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
-DROP TABLE t1;
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1952,33 +1873,27 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
a b
-1 Original from partition p0
-2 Original from partition p0
-3 Original from partition p0
-4 Original from partition p0
-DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
#
-# MDEV-22165 CONVERT PARTITION: move in partition from existing table
+# Reading backup ddl log file
#
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_1: BEFORE failure
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_5: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -1987,39 +1902,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2028,49 +1942,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_2: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2079,39 +1999,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2120,49 +2038,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_3: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2171,39 +2095,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2212,49 +2135,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_4: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2263,39 +2192,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2304,49 +2231,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_5: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2355,39 +2288,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2396,49 +2328,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_6: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2447,39 +2385,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2488,49 +2424,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_7: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2539,39 +2481,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2580,49 +2521,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_8: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2631,39 +2578,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2672,90 +2617,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_9: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1.frm
-t1.par
-t2.MYD
-t2.MYI
-t2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2764,49 +2674,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_11: BEFORE failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2815,2372 +2714,39 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_11: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-SHOW CREATE TABLE t2;
SELECT * FROM t2;
-DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-#
-# MDEV-22166 CONVERT PARTITION: move out partition into a table
-#
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_create_before_create_frm";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_create_before_create_frm: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_create_before_create_frm: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_alter_partition_after_write_frm";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_alter_partition_after_write_frm: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_alter_partition_after_write_frm: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,error_convert_partition_00";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,error_convert_partition_00: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Error on rename of './test/t1#P#p2' to './test/tp2' (errno: 137 "No more records (read after end of file)")
-# d,error_convert_partition_00: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,error_convert_partition_00: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Error on rename of './test/t1#P#p2' to './test/tp2' (errno: 137 "No more records (read after end of file)")
-# d,error_convert_partition_00: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_1: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_2: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_3: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_4: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_5: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_6: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_7: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_8: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_9: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
-# Already finished DDL logging, so tp2 now exists:
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_11: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_11: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_11: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR 42S01: Table 'tp2' already exists
-# d,fail_convert_partition_11: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
+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_dbug=@save_dbug;
-show create table tp2;
-Table Create Table
-tp2 CREATE TABLE `tp2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select * from tp2;
-x
-12
-drop table tp2;
+DROP TABLE t2;
+SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/r/partition_debug_innodb.result b/mysql-test/suite/parts/r/partition_debug_innodb.result
index db88e714872..5ed54fa3bcb 100644
--- a/mysql-test/suite/parts/r/partition_debug_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_innodb.result
@@ -12,25 +12,13 @@ SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -61,9 +49,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_1: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -71,7 +70,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -102,7 +101,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -115,30 +113,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -169,9 +156,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_2: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -179,7 +177,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -210,7 +208,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -223,30 +220,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -277,9 +263,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_3: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -287,7 +284,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -318,7 +315,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -331,30 +327,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -385,11 +370,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_4: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -420,7 +416,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -433,30 +428,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -487,11 +471,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_5: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -522,7 +517,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -535,30 +529,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -589,11 +572,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_6: AFTER crash
#sql-exchange.ibd
-# State after crash recovery
+# d,exchange_partition_abort_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -624,7 +618,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -637,30 +630,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -691,11 +673,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_7: AFTER crash
#sql-exchange.ibd
-# State after crash recovery
+# d,exchange_partition_abort_7: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -726,7 +719,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -739,30 +731,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_8: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -793,9 +774,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_8: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -803,7 +795,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_8: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -834,7 +826,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -847,30 +838,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_9: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -901,9 +881,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_9: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -911,7 +902,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_9: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -942,7 +933,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -955,6 +945,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET @save_dbug=@@debug_dbug;
@@ -998,6 +989,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1010,9 +1037,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_1: AFTER failure
+# d,exchange_partition_fail_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1043,7 +1118,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1056,6 +1130,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_2";
@@ -1098,6 +1174,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1110,9 +1222,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_2: AFTER failure
+# d,exchange_partition_fail_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1143,7 +1303,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1156,6 +1315,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_3";
@@ -1198,6 +1359,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1210,9 +1407,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t2' to './test/#sql-exchange' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_3: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1243,7 +1488,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1256,6 +1500,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_4";
@@ -1298,6 +1544,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1310,9 +1592,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_4: AFTER failure
+# d,exchange_partition_fail_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1343,7 +1673,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1356,6 +1685,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_5";
@@ -1398,6 +1729,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1410,9 +1777,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_5: AFTER failure
+# d,exchange_partition_fail_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1443,7 +1858,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1456,6 +1870,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_6";
@@ -1498,6 +1914,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1510,9 +1962,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_6: AFTER failure
+# d,exchange_partition_fail_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1543,7 +2043,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1556,6 +2055,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_7";
@@ -1598,6 +2099,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1610,9 +2147,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/#sql-exchange' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_7: AFTER failure
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1643,7 +2228,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1656,6 +2240,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_8";
@@ -1698,6 +2284,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1710,9 +2332,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_8: AFTER failure
+# d,exchange_partition_fail_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1743,7 +2413,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1756,6 +2425,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_9";
@@ -1798,21 +2469,105 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
Table Create Table
-t2 CREATE TABLE `t2` (
+t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
5 Original from table t2
6 Original from table t2
7 Original from table t2
8 Original from table t2
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+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"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_9: AFTER failure
+# d,exchange_partition_fail_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1843,7 +2598,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1856,5 +2610,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/t/partition_debug.test b/mysql-test/suite/parts/t/partition_debug.test
index 2f8994705f3..c94e1cad1f9 100644
--- a/mysql-test/suite/parts/t/partition_debug.test
+++ b/mysql-test/suite/parts/t/partition_debug.test
@@ -46,118 +46,10 @@ let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"),
let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64));
let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $show_statement= SHOW CREATE TABLE t2;
+let $select_statement= SELECT * FROM t2;
+let $drop_statement= DROP TABLE t2;
let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
--source suite/parts/inc/partition_crash_exchange.inc
let $fail_statement= $crash_statement;
--source suite/parts/inc/partition_fail_exchange.inc
-
---echo #
---echo # MDEV-22165 CONVERT PARTITION: move in partition from existing table
---echo #
-let $create_statement= create or replace table t1 (x int primary key)
- partition by range(x) (
- partition p1 values less than (10),
- partition p2 values less than (20),
- partition p3 values less than (30));
-
-let $create_statement2= create or replace table t2 (x int primary key);
-let $insert_statement= insert into t1 values (2), (12), (22);
-let $insert_statement2= insert into t2 values (32), (42), (52);
-
-let $fail_statement= alter table t1 convert table t2 to partition pn values less than maxvalue;
-
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-
-
---echo #
---echo # MDEV-22166 CONVERT PARTITION: move out partition into a table
---echo #
-let $create_statement= create or replace table t1 (x int primary key)
- partition by range(x) (
- partition p1 values less than (10),
- partition p2 values less than (20),
- partition p3 values less than (30),
- partition p4 values less than (40),
- partition p5 values less than (50),
- partition pn values less than maxvalue);
-
-let $insert_statement= insert into t1 values (2), (12), (22), (32), (42), (52);
-let $fail_statement= alter table t1 convert partition p2 to table tp2;
-
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_create_before_create_frm";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_alter_partition_after_write_frm";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,error_convert_partition_00";
---source suite/parts/inc/partition_fail.inc
-#set session debug_dbug=@save_dbug;
-#set session debug_dbug="+d,fail_convert_partition_01";
-#--source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
---echo # Already finished DDL logging, so tp2 now exists:
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-show create table tp2;
-select * from tp2;
-drop table tp2;
diff --git a/mysql-test/suite/parts/t/partition_debug_innodb.test b/mysql-test/suite/parts/t/partition_debug_innodb.test
index 1a408cef95d..40fe6768994 100644
--- a/mysql-test/suite/parts/t/partition_debug_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_innodb.test
@@ -81,6 +81,9 @@ let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"),
let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $show_statement= SHOW CREATE TABLE t2;
+let $select_statement= SELECT * FROM t2;
+let $drop_statement= DROP TABLE t2;
let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
--source suite/parts/inc/partition_crash_exchange.inc
let $fail_statement= $crash_statement;
diff --git a/sql/ddl_log.cc b/sql/ddl_log.cc
index 199b1df9623..e2c3271261b 100644
--- a/sql/ddl_log.cc
+++ b/sql/ddl_log.cc
@@ -85,8 +85,8 @@ uchar ddl_log_file_magic[]=
const char *ddl_log_action_name[DDL_LOG_LAST_ACTION]=
{
- "Unknown", "partitioning delete", "partitioning rename",
- "partitioning replace", "partitioning exchange",
+ "Unknown", "file delete", "file rename",
+ "file replace", "partitioning exchange",
"rename table", "rename view",
"initialize drop table", "drop table",
"drop view", "drop trigger", "drop db", "create table", "create view",
@@ -1323,7 +1323,8 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
uint entry_pos= ddl_log_entry->entry_pos;
int error= 0;
uint fn_flags= 0;
- bool frm_action= FALSE;
+ PSI_file_key key= key_file_misc;
+ const bool alter_partition= ddl_log_entry->flags & DDL_LOG_FLAG_ALTER_PARTITION;
DBUG_ENTER("ddl_log_execute_action");
mysql_mutex_assert_owner(&LOCK_gdl);
@@ -1356,12 +1357,17 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
if (!report_error)
thd->push_internal_handler(&no_such_table_handler);
- if (!strcmp(ddl_log_entry->handler_name.str, reg_ext))
- frm_action= TRUE;
- else if (ddl_log_entry->handler_name.length)
+ if (ddl_log_entry->action_type <= DDL_LOG_FILE_REPLACE_ACTION &&
+ ddl_log_entry->unique_id)
+ key= (PSI_file_key) ddl_log_entry->unique_id;
+
+ if (ddl_log_entry->handler_name.length)
{
if (!(file= create_handler(thd, mem_root, &handler_name)))
+ {
+ error= 1;
goto end;
+ }
hton= file->ht;
}
@@ -1371,65 +1377,34 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
fn_flags|= FN_TO_IS_TMP;
switch (ddl_log_entry->action_type) {
- case DDL_LOG_REPLACE_ACTION:
- case DDL_LOG_DELETE_ACTION:
+ case DDL_LOG_FILE_REPLACE_ACTION:
+ case DDL_LOG_FILE_DELETE_ACTION:
{
+ /* DDL_LOG_FILE_REPLACE_ACTION is 2 phases: delete and rename */
if (ddl_log_entry->phase == 0)
{
- if (frm_action)
- {
- strxmov(to_path, ddl_log_entry->name.str, reg_ext, NullS);
- if (unlikely((error= mysql_file_delete(key_file_frm, to_path,
- MYF(MY_WME |
- MY_IGNORE_ENOENT)))))
- break;
-#ifdef WITH_PARTITION_STORAGE_ENGINE
- strxmov(to_path, ddl_log_entry->name.str, PAR_EXT, NullS);
- (void) mysql_file_delete(key_file_partition_ddl_log, to_path,
- MYF(0));
-#endif
- }
- else
- {
- if (unlikely((error= hton->drop_table(hton, ddl_log_entry->name.str))))
- {
- if (!non_existing_table_error(error))
- break;
- }
- }
+ if (unlikely((error= mysql_file_delete(key,
+ ddl_log_entry->name.str,
+ MYF(MY_WME | MY_IGNORE_ENOENT)))))
+ break;
if (increment_phase(entry_pos))
break;
error= 0;
- if (ddl_log_entry->action_type == DDL_LOG_DELETE_ACTION)
+ if (ddl_log_entry->action_type == DDL_LOG_FILE_DELETE_ACTION)
break;
}
}
- DBUG_ASSERT(ddl_log_entry->action_type == DDL_LOG_REPLACE_ACTION);
+ DBUG_ASSERT(ddl_log_entry->action_type == DDL_LOG_FILE_REPLACE_ACTION);
/*
Fall through and perform the rename action of the replace
action. We have already indicated the success of the delete
action in the log entry by stepping up the phase.
*/
/* fall through */
- case DDL_LOG_RENAME_ACTION:
+ case DDL_LOG_FILE_RENAME_ACTION:
{
- if (frm_action)
- {
- strxmov(to_path, ddl_log_entry->name.str, reg_ext, NullS);
- strxmov(from_path, ddl_log_entry->from_name.str, reg_ext, NullS);
- error= mysql_file_rename(key_file_frm, from_path, to_path, MYF(MY_WME));
-#ifdef WITH_PARTITION_STORAGE_ENGINE
- strxmov(to_path, ddl_log_entry->name.str, PAR_EXT, NullS);
- strxmov(from_path, ddl_log_entry->from_name.str, PAR_EXT, NullS);
- int err2= mysql_file_rename(key_file_partition_ddl_log, from_path,
- to_path, MYF(MY_WME));
- if (!error)
- error= err2;
-#endif
- }
- else
- error= file->ha_rename_table(ddl_log_entry->from_name.str,
- ddl_log_entry->name.str);
+ error= mysql_file_rename(key, ddl_log_entry->from_name.str,
+ ddl_log_entry->name.str, MYF(MY_WME));
if (increment_phase(entry_pos))
{
error= -1;
@@ -1442,7 +1417,6 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
/* We hold LOCK_gdl, so we can alter global_ddl_log.file_entry_buf */
uchar *file_entry_buf= global_ddl_log.file_entry_buf;
/* not yet implemented for frm */
- DBUG_ASSERT(!frm_action);
/*
Using a case-switch here to revert all currently done phases,
since it will fall through until the first phase is undone.
@@ -1488,11 +1462,13 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
*/
switch (ddl_log_entry->phase) {
case DDL_RENAME_PHASE_TRIGGER:
+ DBUG_ASSERT(!alter_partition);
rename_triggers(thd, ddl_log_entry, 0, fn_flags);
if (increment_phase(entry_pos))
break;
/* fall through */
case DDL_RENAME_PHASE_STAT:
+ DBUG_ASSERT(!alter_partition);
if (fn_flags & FN_TO_IS_TMP)
{
/*
@@ -1516,13 +1492,21 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
}
/* fall through */
case DDL_RENAME_PHASE_TABLE:
- /* Restore frm and table to original names */
- error= execute_rename_table(ddl_log_entry, file,
- &ddl_log_entry->db, &ddl_log_entry->name,
- &ddl_log_entry->from_db,
- &ddl_log_entry->from_name,
- fn_flags, from_path, to_path);
+ if (alter_partition)
+ {
+ error= file->ha_rename_table(ddl_log_entry->from_name.str,
+ ddl_log_entry->name.str);
+ }
+ else
+ {
+ /* Restore frm and table to original names */
+ error= execute_rename_table(ddl_log_entry, file,
+ &ddl_log_entry->db, &ddl_log_entry->name,
+ &ddl_log_entry->from_db,
+ &ddl_log_entry->from_name,
+ fn_flags, from_path, to_path);
+ }
if (ddl_log_entry->flags & DDL_LOG_FLAG_UPDATE_STAT)
{
/* Update stat tables last */
@@ -1615,7 +1599,10 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
}
}
else
+ {
+ DBUG_ASSERT(!alter_partition);
error= ha_delete_table_force(thd, path.str, &db, &table);
+ }
if (error <= 0)
{
/* Not found or already deleted. Delete .frm if it exists */
@@ -1627,14 +1614,14 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
break;
/* Fall through */
case DDL_DROP_PHASE_TRIGGER:
- Table_triggers_list::drop_all_triggers(thd, &db, &table,
- fn_flags,
- MYF(MY_WME | MY_IGNORE_ENOENT));
+ if (!alter_partition)
+ Table_triggers_list::drop_all_triggers(thd, &db, &table, fn_flags,
+ MYF(MY_WME | MY_IGNORE_ENOENT));
if (increment_phase(entry_pos))
break;
/* Fall through */
case DDL_DROP_PHASE_BINLOG:
- if (fn_flags & FN_IS_TMP)
+ if (alter_partition || (fn_flags & FN_IS_TMP))
{
/*
If new code is added here please finish this block like this:
@@ -2031,7 +2018,10 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
if (!(org_file= create_handler(thd, mem_root,
&ddl_log_entry->from_handler_name)))
+ {
+ error= 1;
goto end;
+ }
/* Handlerton of the final table and any temporary tables */
org_hton= org_file->ht;
/*
@@ -2041,7 +2031,7 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
*/
partition_hton= hton;
- if (ddl_log_entry->flags & DDL_LOG_FLAG_ALTER_PARTITION)
+ if (alter_partition)
{
/*
The from and to tables where both using the partition engine.
@@ -2343,7 +2333,10 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
Query length is stored in unique_id
*/
if (recovery_state.query.alloc((size_t) (ddl_log_entry->unique_id+1)))
+ {
+ error= 1;
goto end;
+ }
recovery_state.query.length(0);
recovery_state.db.copy(ddl_log_entry->db.str, ddl_log_entry->db.length,
system_charset_info);
@@ -2375,7 +2368,7 @@ end:
/* If error code is HA_ERR_ code we already have file object. */
DBUG_ASSERT(file);
TABLE_SHARE share;
- bzero(&share, sizeof(share));
+ share.reset();
share.db= ddl_log_entry->db;
share.table_name= ddl_log_entry->name;
share.normalized_path= ddl_log_entry->tmp_name;
@@ -3041,7 +3034,7 @@ void ddl_log_complete(DDL_LOG_STATE *state)
This is called for failed rename table, create trigger or drop trigger.
*/
-bool ddl_log_revert(THD *thd, DDL_LOG_STATE *state)
+bool ddl_log_revert(THD *thd, DDL_LOG_STATE *state, bool report_error)
{
bool res= 0;
DBUG_ENTER("ddl_log_revert");
@@ -3054,7 +3047,7 @@ bool ddl_log_revert(THD *thd, DDL_LOG_STATE *state)
{
res= ddl_log_execute_entry_no_lock(thd, state->list->entry_pos,
state->execute_entry->entry_pos,
- true);
+ report_error);
ddl_log_disable_execute_entry(&state->execute_entry);
}
ddl_log_release_entries(state);
@@ -3159,8 +3152,8 @@ bool ddl_log_update_xid(DDL_LOG_STATE *state, ulonglong xid)
Will update DDL_LOG_STATE->flags
*/
-static bool ddl_log_write(DDL_LOG_STATE *ddl_state,
- DDL_LOG_ENTRY *ddl_log_entry)
+bool ddl_log_write(DDL_LOG_STATE *ddl_state,
+ DDL_LOG_ENTRY *ddl_log_entry)
{
int error;
DDL_LOG_MEMORY_ENTRY *log_entry;
@@ -3715,27 +3708,36 @@ err:
}
-/*
- Log an delete frm file
-*/
+/**
+ Log an delete frm file and par file
-/*
- TODO: Partitioning atomic DDL refactoring: this should be replaced with
- ddl_log_create_table().
+ @param to_path Location of frm file without extension
*/
+
bool ddl_log_delete_frm(DDL_LOG_STATE *ddl_state, const char *to_path)
{
+ char to_file[FN_REFLEN + 1];
DDL_LOG_ENTRY ddl_log_entry;
DDL_LOG_MEMORY_ENTRY *log_entry;
DBUG_ENTER("ddl_log_delete_frm");
bzero(&ddl_log_entry, sizeof(ddl_log_entry));
- ddl_log_entry.action_type= DDL_LOG_DELETE_ACTION;
+ ddl_log_entry.action_type= DDL_LOG_FILE_DELETE_ACTION;
ddl_log_entry.next_entry= ddl_state->list ? ddl_state->list->entry_pos : 0;
- lex_string_set(&ddl_log_entry.handler_name, reg_ext);
- lex_string_set(&ddl_log_entry.name, to_path);
-
mysql_mutex_assert_owner(&LOCK_gdl);
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+ strxmov(to_file, to_path, PAR_EXT, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
+ ddl_log_entry.unique_id= (ulonglong) key_file_partition_ddl_log;
+ if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
+ DBUG_RETURN(1);
+
+ ddl_log_add_entry(ddl_state, log_entry);
+ ddl_log_entry.next_entry= ddl_state->list->entry_pos;
+#endif
+ strxmov(to_file, to_path, reg_ext, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
+ ddl_log_entry.unique_id= (ulonglong) key_file_frm;
if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
DBUG_RETURN(1);
@@ -3743,6 +3745,53 @@ bool ddl_log_delete_frm(DDL_LOG_STATE *ddl_state, const char *to_path)
DBUG_RETURN(0);
}
+
+/**
+ Log an rename frm file and par file
+
+ @param from_path Location of frm file without extension
+ @param to_path Location of new frm file without extension
+*/
+
+bool ddl_log_rename_frm(DDL_LOG_STATE *ddl_state,
+ const char *from_path, const char *to_path)
+{
+ char to_file[FN_REFLEN + 1], from_file[FN_REFLEN + 1];
+ DDL_LOG_ENTRY ddl_log_entry;
+ DDL_LOG_MEMORY_ENTRY *log_entry;
+ DBUG_ENTER("ddl_log_rename_frm");
+
+ bzero(&ddl_log_entry, sizeof(ddl_log_entry));
+ ddl_log_entry.action_type= DDL_LOG_FILE_RENAME_ACTION;
+ ddl_log_entry.next_entry= ddl_state->list ? ddl_state->list->entry_pos : 0;
+
+ mysql_mutex_assert_owner(&LOCK_gdl);
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+ strxmov(to_file, to_path, PAR_EXT, NullS);
+ strxmov(from_file, from_path, PAR_EXT, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
+ lex_string_set(&ddl_log_entry.from_name, from_file);
+ ddl_log_entry.unique_id= (ulonglong) key_file_partition_ddl_log;
+ if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
+ DBUG_RETURN(1);
+
+ ddl_log_add_entry(ddl_state, log_entry);
+ ddl_log_entry.next_entry= ddl_state->list->entry_pos;
+#endif
+ strxmov(to_file, to_path, reg_ext, NullS);
+ strxmov(from_file, from_path, reg_ext, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
+ lex_string_set(&ddl_log_entry.from_name, from_file);
+ ddl_log_entry.unique_id= (ulonglong) key_file_frm;
+
+ if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
+ DBUG_RETURN(true);
+
+ ddl_log_add_entry(ddl_state, log_entry);
+ DBUG_RETURN(false);
+}
+
+
/*
Link the ddl_log_state to another (master) chain. If the master
chain is active during DDL recovery, this event will not be executed.
diff --git a/sql/ddl_log.h b/sql/ddl_log.h
index 301f6a1cfa8..ab5eadc5eee 100644
--- a/sql/ddl_log.h
+++ b/sql/ddl_log.h
@@ -59,16 +59,16 @@ enum ddl_log_action_code
DDL_LOG_UNKNOWN_ACTION= 0,
/* Delete a .frm file or a table in the partition engine */
- DDL_LOG_DELETE_ACTION= 1,
+ DDL_LOG_FILE_DELETE_ACTION= 1,
/* Rename a .frm fire a table in the partition engine */
- DDL_LOG_RENAME_ACTION= 2,
+ DDL_LOG_FILE_RENAME_ACTION= 2,
/*
Rename an entity after removing the previous entry with the
new name, that is replace this entry.
*/
- DDL_LOG_REPLACE_ACTION= 3,
+ DDL_LOG_FILE_REPLACE_ACTION= 3,
/* Exchange two entities by renaming them a -> tmp, b -> a, tmp -> b */
DDL_LOG_EXCHANGE_ACTION= 4,
@@ -263,6 +263,12 @@ bool ddl_log_close_binlogged_events(HASH *xids);
int ddl_log_execute_recovery();
/* functions for updating the ddl log */
+bool ddl_log_write(DDL_LOG_STATE *ddl_state,
+ DDL_LOG_ENTRY *ddl_log_entry);
+/*
+ TODO: MDEV-28844 don't use in exchange_name_with_ddl_log(), remove global
+ declaration
+*/
bool ddl_log_write_entry(DDL_LOG_ENTRY *ddl_log_entry,
DDL_LOG_MEMORY_ENTRY **active_entry);
@@ -271,7 +277,8 @@ bool ddl_log_write_execute_entry(uint first_entry, uint cond_entry,
bool ddl_log_disable_execute_entry(DDL_LOG_MEMORY_ENTRY **active_entry);
void ddl_log_complete(DDL_LOG_STATE *ddl_log_state);
-bool ddl_log_revert(THD *thd, DDL_LOG_STATE *ddl_log_state);
+bool ddl_log_revert(THD *thd, DDL_LOG_STATE *ddl_log_state,
+ bool report_error);
bool ddl_log_update_phase(DDL_LOG_STATE *entry, uchar phase);
bool ddl_log_add_flag(DDL_LOG_STATE *entry, uint16 flag);
@@ -282,6 +289,10 @@ bool ddl_log_disable_entry(DDL_LOG_STATE *state);
bool ddl_log_increment_phase(uint entry_pos);
void ddl_log_release_memory_entry(DDL_LOG_MEMORY_ENTRY *log_entry);
bool ddl_log_sync();
+/*
+ TODO: MDEV-28844 don't use in exchange_name_with_ddl_log(), remove global
+ declaration
+*/
bool ddl_log_execute_entry(THD *thd, uint first_entry);
void ddl_log_add_entry(DDL_LOG_STATE *state, DDL_LOG_MEMORY_ENTRY *log_entry);
@@ -356,6 +367,8 @@ bool ddl_log_alter_table(DDL_LOG_STATE *ddl_state,
bool ddl_log_store_query(THD *thd, DDL_LOG_STATE *ddl_log_state,
const char *query, size_t length);
bool ddl_log_delete_frm(DDL_LOG_STATE *ddl_state, const char *to_path);
+bool ddl_log_rename_frm(DDL_LOG_STATE *ddl_state,
+ const char *from_path, const char *to_path);
void ddl_log_link_chains(DDL_LOG_STATE *state, DDL_LOG_STATE *master_state);
extern mysql_mutex_t LOCK_gdl;
#endif /* DDL_LOG_INCLUDED */
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 0b59a5a335f..fe94d44f482 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -877,332 +877,6 @@ create_error:
}
-/*
- Drop partitions as part of ALTER TABLE of partitions
-
- SYNOPSIS
- drop_partitions()
- path Complete path of db and table name
-
- RETURN VALUE
- >0 Failure
- 0 Success
-
- DESCRIPTION
- Use part_info object on handler object to deduce which partitions to
- drop (each partition has a state attached to it)
-*/
-
-int ha_partition::drop_partitions(const char *path)
-{
- List_iterator<partition_element> part_it(m_part_info->partitions);
- char part_name_buff[FN_REFLEN + 1];
- uint num_parts= m_part_info->partitions.elements;
- uint num_subparts= m_part_info->num_subparts;
- uint i= 0;
- uint name_variant;
- int ret_error;
- int error= 0;
- DBUG_ENTER("ha_partition::drop_partitions");
-
- /*
- Assert that it works without HA_FILE_BASED and lower_case_table_name = 2.
- We use m_file[0] as long as all partitions have the same storage engine.
- */
- DBUG_ASSERT(!strcmp(path, get_canonical_filename(m_file[0], path,
- part_name_buff)));
- do
- {
- partition_element *part_elem= part_it++;
- if (part_elem->part_state == PART_TO_BE_DROPPED)
- {
- handler *file;
- /*
- This part is to be dropped, meaning the part or all its subparts.
- */
- name_variant= NORMAL_PART_NAME;
- if (m_is_sub_partitioned)
- {
- List_iterator<partition_element> sub_it(part_elem->subpartitions);
- uint j= 0, part;
- do
- {
- partition_element *sub_elem= sub_it++;
- part= i * num_subparts + j;
- if (unlikely((ret_error=
- create_subpartition_name(part_name_buff,
- sizeof(part_name_buff), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- name_variant))))
- error= ret_error;
- file= m_file[part];
- DBUG_PRINT("info", ("Drop subpartition %s", part_name_buff));
- if (unlikely((ret_error= file->delete_table(part_name_buff))))
- error= ret_error;
- if (unlikely(ddl_log_increment_phase(sub_elem->log_entry->
- entry_pos)))
- error= 1;
- } while (++j < num_subparts);
- }
- else
- {
- if ((ret_error= create_partition_name(part_name_buff,
- sizeof(part_name_buff), path,
- part_elem->partition_name, name_variant, TRUE)))
- error= ret_error;
- else
- {
- file= m_file[i];
- DBUG_PRINT("info", ("Drop partition %s", part_name_buff));
- if (unlikely((ret_error= file->delete_table(part_name_buff))))
- error= ret_error;
- if (unlikely(ddl_log_increment_phase(part_elem->log_entry->
- entry_pos)))
- error= 1;
- }
- }
- if (part_elem->part_state == PART_IS_CHANGED)
- part_elem->part_state= PART_NORMAL;
- else
- part_elem->part_state= PART_IS_DROPPED;
- }
- } while (++i < num_parts);
- (void) ddl_log_sync();
- DBUG_RETURN(error);
-}
-
-
-/*
- Rename partitions as part of ALTER TABLE of partitions
-
- SYNOPSIS
- rename_partitions()
- path Complete path of db and table name
-
- RETURN VALUE
- TRUE Failure
- FALSE Success
-
- DESCRIPTION
- When reorganising partitions, adding hash partitions and coalescing
- partitions it can be necessary to rename partitions while holding
- an exclusive lock on the table.
- Which partitions to rename is given by state of partitions found by the
- partition info struct referenced from the handler object
-*/
-
-int ha_partition::rename_partitions(const char *path)
-{
- List_iterator<partition_element> part_it(m_part_info->partitions);
- List_iterator<partition_element> temp_it(m_part_info->temp_partitions);
- char part_name_buff[FN_REFLEN + 1];
- char norm_name_buff[FN_REFLEN + 1];
- uint num_parts= m_part_info->partitions.elements;
- uint part_count= 0;
- uint num_subparts= m_part_info->num_subparts;
- uint i= 0;
- uint j= 0;
- int error= 0;
- int ret_error;
- uint temp_partitions= m_part_info->temp_partitions.elements;
- handler *file;
- partition_element *part_elem, *sub_elem;
- DBUG_ENTER("ha_partition::rename_partitions");
-
- /*
- Assert that it works without HA_FILE_BASED and lower_case_table_name = 2.
- We use m_file[0] as long as all partitions have the same storage engine.
- */
- DBUG_ASSERT(!strcmp(path, get_canonical_filename(m_file[0], path,
- norm_name_buff)));
-
- DEBUG_SYNC(ha_thd(), "before_rename_partitions");
- if (temp_partitions)
- {
- /*
- These are the reorganised partitions that have already been copied.
- We delete the partitions and log the delete by inactivating the
- delete log entry in the table log. We only need to synchronise
- these writes before moving to the next loop since there is no
- interaction among reorganised partitions, they cannot have the
- same name.
- */
- do
- {
- part_elem= temp_it++;
- if (m_is_sub_partitioned)
- {
- List_iterator<partition_element> sub_it(part_elem->subpartitions);
- j= 0;
- do
- {
- sub_elem= sub_it++;
- file= m_reorged_file[part_count++];
- if (unlikely((ret_error=
- create_subpartition_name(norm_name_buff,
- sizeof(norm_name_buff), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- NORMAL_PART_NAME))))
- error= ret_error;
- DBUG_PRINT("info", ("Delete subpartition %s", norm_name_buff));
- if (unlikely((ret_error= file->delete_table(norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(sub_elem->log_entry->
- entry_pos)))
- error= 1;
- else
- sub_elem->log_entry= NULL; /* Indicate success */
- } while (++j < num_subparts);
- }
- else
- {
- file= m_reorged_file[part_count++];
- if (unlikely((ret_error=
- create_partition_name(norm_name_buff,
- sizeof(norm_name_buff), path,
- part_elem->partition_name,
- NORMAL_PART_NAME, TRUE))))
- error= ret_error;
- else
- {
- DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
- if (unlikely((ret_error= file->delete_table(norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(part_elem->log_entry->
- entry_pos)))
- error= 1;
- else
- part_elem->log_entry= NULL; /* Indicate success */
- }
- }
- } while (++i < temp_partitions);
- (void) ddl_log_sync();
- }
- i= 0;
- do
- {
- /*
- When state is PART_IS_CHANGED it means that we have created a new
- TEMP partition that is to be renamed to normal partition name and
- we are to delete the old partition with currently the normal name.
-
- We perform this operation by
- 1) Delete old partition with normal partition name
- 2) Signal this in table log entry
- 3) Synch table log to ensure we have consistency in crashes
- 4) Rename temporary partition name to normal partition name
- 5) Signal this to table log entry
- It is not necessary to synch the last state since a new rename
- should not corrupt things if there was no temporary partition.
-
- The only other parts we need to cater for are new parts that
- replace reorganised parts. The reorganised parts were deleted
- by the code above that goes through the temp_partitions list.
- Thus the synch above makes it safe to simply perform step 4 and 5
- for those entries.
- */
- part_elem= part_it++;
- if (part_elem->part_state == PART_IS_CHANGED ||
- part_elem->part_state == PART_TO_BE_DROPPED ||
- (part_elem->part_state == PART_IS_ADDED && temp_partitions))
- {
- if (m_is_sub_partitioned)
- {
- List_iterator<partition_element> sub_it(part_elem->subpartitions);
- uint part;
-
- j= 0;
- do
- {
- sub_elem= sub_it++;
- part= i * num_subparts + j;
- if (unlikely((ret_error=
- create_subpartition_name(norm_name_buff,
- sizeof(norm_name_buff), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- NORMAL_PART_NAME))))
- error= ret_error;
- if (part_elem->part_state == PART_IS_CHANGED)
- {
- file= m_reorged_file[part_count++];
- DBUG_PRINT("info", ("Delete subpartition %s", norm_name_buff));
- if (unlikely((ret_error= file->delete_table(norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(sub_elem->log_entry->
- entry_pos)))
- error= 1;
- (void) ddl_log_sync();
- }
- file= m_new_file[part];
- if (unlikely((ret_error=
- create_subpartition_name(part_name_buff,
- sizeof(part_name_buff), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- TEMP_PART_NAME))))
- error= ret_error;
- DBUG_PRINT("info", ("Rename subpartition from %s to %s",
- part_name_buff, norm_name_buff));
- if (unlikely((ret_error= file->ha_rename_table(part_name_buff,
- norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(sub_elem->log_entry->
- entry_pos)))
- error= 1;
- else
- sub_elem->log_entry= NULL;
- } while (++j < num_subparts);
- }
- else
- {
- if (unlikely((ret_error=
- create_partition_name(norm_name_buff,
- sizeof(norm_name_buff), path,
- part_elem->partition_name,
- NORMAL_PART_NAME, TRUE)) ||
- (ret_error= create_partition_name(part_name_buff,
- sizeof(part_name_buff),
- path,
- part_elem->
- partition_name,
- TEMP_PART_NAME, TRUE))))
- error= ret_error;
- else
- {
- if (part_elem->part_state == PART_IS_CHANGED)
- {
- file= m_reorged_file[part_count++];
- DBUG_PRINT("info", ("Delete partition %s", norm_name_buff));
- if (unlikely((ret_error= file->delete_table(norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(part_elem->log_entry->
- entry_pos)))
- error= 1;
- (void) ddl_log_sync();
- }
- file= m_new_file[i];
- DBUG_PRINT("info", ("Rename partition from %s to %s",
- part_name_buff, norm_name_buff));
- if (unlikely((ret_error= file->ha_rename_table(part_name_buff,
- norm_name_buff))))
- error= ret_error;
- else if (unlikely(ddl_log_increment_phase(part_elem->log_entry->
- entry_pos)))
- error= 1;
- else
- part_elem->log_entry= NULL;
- }
- }
- }
- } while (++i < num_parts);
- (void) ddl_log_sync();
- DBUG_RETURN(error);
-}
-
-
#define OPTIMIZE_PARTS 1
#define ANALYZE_PARTS 2
#define CHECK_PARTS 3
@@ -1990,10 +1664,8 @@ int ha_partition::allocate_partitions()
do
{
handler **new_file= &new_file_array[part_count++];
- if (!(*new_file=
- get_new_handler(table->s,
- thd->mem_root,
- part_elem->engine_type)))
+ if (!(*new_file= ::get_new_handler(table->s, thd->mem_root,
+ part_elem->engine_type)))
{
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}
@@ -2013,188 +1685,8 @@ int ha_partition::allocate_partitions()
} while (++i < num_parts);
m_new_file= new_file_array;
- DBUG_RETURN(0);
-}
-
-
-/*
- Implement the partition changes defined by ALTER TABLE of partitions
-
- SYNOPSIS
- change_partitions()
- create_info HA_CREATE_INFO object describing all
- fields and indexes in table
- path Complete path of db and table name
- out: copied Output parameter where number of copied
- records are added
- out: deleted Output parameter where number of deleted
- records are added
- pack_frm_data Reference to packed frm file
- pack_frm_len Length of packed frm file
-
- RETURN VALUE
- >0 Failure
- 0 Success
-
- DESCRIPTION
- Add and copy if needed a number of partitions, during this operation
- no other operation is ongoing in the server. This is used by
- ADD PARTITION all types as well as by REORGANIZE PARTITION. For
- one-phased implementations it is used also by DROP and COALESCE
- PARTITIONs.
- One-phased implementation needs the new frm file, other handlers will
- get zero length and a NULL reference here.
-*/
-
-int ha_partition::change_partitions(HA_CREATE_INFO *create_info,
- const char *path,
- ulonglong * const copied,
- ulonglong * const deleted,
- const uchar *pack_frm_data
- __attribute__((unused)),
- size_t pack_frm_len
- __attribute__((unused)))
-{
- List_iterator<partition_element> part_it(m_part_info->partitions);
- List_iterator <partition_element> t_it(m_part_info->temp_partitions);
- char part_name_buff[FN_REFLEN + 1];
- uint num_parts= m_part_info->partitions.elements;
- uint num_subparts= m_part_info->num_subparts;
- uint i= 0;
- int error;
- uint temp_partitions= m_part_info->temp_partitions.elements;
- DBUG_ENTER("ha_partition::change_partitions");
-
- /*
- Assert that it works without HA_FILE_BASED and lower_case_table_name = 2.
- We use m_file[0] as long as all partitions have the same storage engine.
- */
- DBUG_ASSERT(!strcmp(path, get_canonical_filename(m_file[0], path,
- part_name_buff)));
-
- if ((error= allocate_partitions()))
- DBUG_RETURN(error);
- DBUG_ASSERT(m_new_file);
-
- /*
- Step 5:
- Create the new partitions and also open, lock and call external_lock
- on them to prepare them for copy phase and also for later close
- calls
- */
-
- /*
- Before creating new partitions check whether indexes are disabled
- in the partitions.
- */
-
- uint disable_non_uniq_indexes= indexes_are_disabled();
-
- part_it.rewind();
- do
- {
- partition_element *part_elem= part_it++;
- DBUG_ASSERT(i == part_elem->id);
- if (part_elem->part_state == PART_TO_BE_ADDED ||
- part_elem->part_state == PART_CHANGED)
- {
- /*
- A new partition needs to be created PART_TO_BE_ADDED means an
- entirely new partition and PART_CHANGED means a changed partition
- that will still exist with either more or less data in it.
- */
- uint name_variant= NORMAL_PART_NAME;
- if (part_elem->part_state == PART_CHANGED ||
- (part_elem->part_state == PART_TO_BE_ADDED && temp_partitions))
- name_variant= TEMP_PART_NAME;
- if (m_part_info->is_sub_partitioned())
- {
- List_iterator<partition_element> sub_it(part_elem->subpartitions);
- uint j= 0;
- do
- {
- partition_element *sub_elem= sub_it++;
- DBUG_ASSERT(part_elem == sub_elem->parent_part);
- DBUG_ASSERT(j == sub_elem->id);
- if (unlikely((error=
- create_subpartition_name(part_name_buff,
- sizeof(part_name_buff), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- name_variant))))
- {
- cleanup_new_partition();
- DBUG_RETURN(error);
- }
- DBUG_PRINT("info", ("Add subpartition %s", part_name_buff));
- if (unlikely((error=
- create_partition(table, create_info,
- (const char *)part_name_buff,
- sub_elem,
- disable_non_uniq_indexes))))
- {
- cleanup_new_partition();
- DBUG_RETURN(error);
- }
- } while (++j < num_subparts);
- }
- else
- {
- if (unlikely((error=
- create_partition_name(part_name_buff,
- sizeof(part_name_buff), path,
- part_elem->partition_name,
- name_variant, TRUE))))
- {
- cleanup_new_partition();
- DBUG_RETURN(error);
- }
-
- DBUG_PRINT("info", ("Add partition %s", part_name_buff));
- if (unlikely((error=
- create_partition(table, create_info,
- (const char *)part_name_buff,
- part_elem,
- disable_non_uniq_indexes))))
- {
- cleanup_new_partition();
- DBUG_RETURN(error);
- }
- }
- }
- } while (++i < num_parts);
-
- /*
- Step 6:
- State update to prepare for next write of the frm file.
- */
- i= 0;
- part_it.rewind();
- do
- {
- partition_element *part_elem= part_it++;
- if (part_elem->part_state == PART_TO_BE_ADDED)
- part_elem->part_state= PART_IS_ADDED;
- else if (part_elem->part_state == PART_CHANGED)
- part_elem->part_state= PART_IS_CHANGED;
- else if (part_elem->part_state == PART_REORGED_DROPPED)
- part_elem->part_state= PART_TO_BE_DROPPED;
- } while (++i < num_parts);
- for (i= 0; i < temp_partitions; i++)
- {
- partition_element *part_elem= t_it++;
- DBUG_ASSERT(part_elem->part_state == PART_TO_BE_REORGED);
- part_elem->part_state= PART_TO_BE_DROPPED;
- }
- if (unlikely((error= copy_partitions(copied, deleted))))
- {
- /*
- Close and unlock the new temporary partitions.
- They will later be deleted through the ddl-log.
- */
- cleanup_new_partition();
- }
- DBUG_RETURN(error);
+ DBUG_RETURN(ERROR_INJECT("alter_partition_alloc_parts") ?
+ HA_ERR_OUT_OF_MEM : 0);
}
@@ -3057,7 +2549,7 @@ bool ha_partition::create_handlers(MEM_ROOT *mem_root)
for (i= 0; i < m_tot_parts; i++)
{
handlerton *hton= plugin_data(m_engine_array[i], handlerton*);
- if (!(m_file[i]= get_new_handler(table_share, mem_root, hton)))
+ if (!(m_file[i]= ::get_new_handler(table_share, mem_root, hton)))
DBUG_RETURN(TRUE);
DBUG_PRINT("info", ("engine_type: %u", hton->db_type));
}
@@ -3118,8 +2610,8 @@ bool ha_partition::new_handlers_from_part_info(MEM_ROOT *mem_root)
{
for (j= 0; j < m_part_info->num_subparts; j++)
{
- if (!(m_file[part_count++]= get_new_handler(table_share, mem_root,
- part_elem->engine_type)))
+ if (!(m_file[part_count++]= ::get_new_handler(table_share, mem_root,
+ part_elem->engine_type)))
goto error;
DBUG_PRINT("info", ("engine_type: %u",
(uint) ha_legacy_type(part_elem->engine_type)));
@@ -3127,8 +2619,8 @@ bool ha_partition::new_handlers_from_part_info(MEM_ROOT *mem_root)
}
else
{
- if (!(m_file[part_count++]= get_new_handler(table_share, mem_root,
- part_elem->engine_type)))
+ if (!(m_file[part_count++]= ::get_new_handler(table_share, mem_root,
+ part_elem->engine_type)))
goto error;
DBUG_PRINT("info", ("engine_type: %u",
(uint) ha_legacy_type(part_elem->engine_type)));
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index 778080132b8..a4e33058c10 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -467,6 +467,20 @@ public:
{
return m_file;
}
+ handler **get_new_handlers()
+ {
+ return m_new_file;
+ }
+ handler *get_child_handler(partition_element *part_elem,
+ partition_element *sub_elem)
+ {
+ return m_file[part_elem->serial_id(sub_elem, m_part_info->num_subparts)];
+ }
+ handler *get_new_handler(partition_element *part_elem,
+ partition_element *sub_elem)
+ {
+ return m_new_file[part_elem->serial_id(sub_elem, m_part_info->num_subparts)];
+ }
ha_partition *get_clone_source()
{
return m_is_clone_of;
@@ -554,13 +568,7 @@ public:
override;
bool check_if_updates_are_ignored(const char *op) const override;
void update_create_info(HA_CREATE_INFO *create_info) override;
- int change_partitions(HA_CREATE_INFO *create_info, const char *path,
- ulonglong * const copied, ulonglong * const deleted,
- const uchar *pack_frm_data, size_t pack_frm_len)
- override;
int allocate_partitions();
- int drop_partitions(const char *path) override;
- int rename_partitions(const char *path) override;
bool get_no_parts(const char *, uint *num_parts) override
{
DBUG_ENTER("ha_partition::get_no_parts");
diff --git a/sql/handler.cc b/sql/handler.cc
index 42c5584f6e1..aa35d0c7b55 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -5475,68 +5475,6 @@ handler::ha_create_partitioning_metadata(const char *name,
/**
- Change partitions: public interface.
-
- @sa handler::change_partitions()
-*/
-
-int
-handler::ha_change_partitions(HA_CREATE_INFO *create_info,
- const char *path,
- ulonglong * const copied,
- ulonglong * const deleted,
- const uchar *pack_frm_data,
- size_t pack_frm_len)
-{
- /*
- Must have at least RDLCK or be a TMP table. Read lock is needed to read
- from current partitions and write lock will be taken on new partitions.
- */
- DBUG_ASSERT(table_share->tmp_table != NO_TMP_TABLE ||
- m_lock_type != F_UNLCK);
-
- mark_trx_read_write();
-
- return change_partitions(create_info, path, copied, deleted,
- pack_frm_data, pack_frm_len);
-}
-
-
-/**
- Drop partitions: public interface.
-
- @sa handler::drop_partitions()
-*/
-
-int
-handler::ha_drop_partitions(const char *path)
-{
- DBUG_ASSERT(!table->db_stat);
-
- mark_trx_read_write();
-
- return drop_partitions(path);
-}
-
-
-/**
- Rename partitions: public interface.
-
- @sa handler::rename_partitions()
-*/
-
-int
-handler::ha_rename_partitions(const char *path)
-{
- DBUG_ASSERT(!table->db_stat);
-
- mark_trx_read_write();
-
- return rename_partitions(path);
-}
-
-
-/**
Tell the storage engine that it is allowed to "disable transaction" in the
handler. It is a hint that ACID is not required - it was used in NDB for
ALTER TABLE, for example, when data are copied to temporary table.
diff --git a/sql/handler.h b/sql/handler.h
index 3f0b97034e1..5258dc10e80 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -448,7 +448,6 @@ enum chf_create_flags {
*/
#define HA_PARTITION_FUNCTION_SUPPORTED (1UL << 12)
#define HA_FAST_CHANGE_PARTITION (1UL << 13)
-#define HA_PARTITION_ONE_PHASE (1UL << 14)
/* operations for disable/enable indexes */
#define HA_KEY_SWITCH_NONUNIQ 0
@@ -3559,15 +3558,6 @@ public:
int ha_create_partitioning_metadata(const char *name, const char *old_name,
chf_create_flags action_flag);
- int ha_change_partitions(HA_CREATE_INFO *create_info,
- const char *path,
- ulonglong * const copied,
- ulonglong * const deleted,
- const uchar *pack_frm_data,
- size_t pack_frm_len);
- int ha_drop_partitions(const char *path);
- int ha_rename_partitions(const char *path);
-
void adjust_next_insert_id_after_explicit_value(ulonglong nr);
int update_auto_increment();
virtual void print_error(int error, myf errflag);
@@ -5072,22 +5062,11 @@ public:
chf_create_flags action_flag)
{ return FALSE; }
- virtual int change_partitions(HA_CREATE_INFO *create_info,
- const char *path,
- ulonglong * const copied,
- ulonglong * const deleted,
- const uchar *pack_frm_data,
- size_t pack_frm_len)
- { return HA_ERR_WRONG_COMMAND; }
/* @return true if it's necessary to switch current statement log format from
STATEMENT to ROW if binary log format is MIXED and autoincrement values
are changed in the statement */
virtual bool autoinc_lock_mode_stmt_unsafe() const
{ return false; }
- virtual int drop_partitions(const char *path)
- { return HA_ERR_WRONG_COMMAND; }
- virtual int rename_partitions(const char *path)
- { return HA_ERR_WRONG_COMMAND; }
virtual bool set_ha_share_ref(Handler_share **arg_ha_share)
{
DBUG_ASSERT(!ha_share);
diff --git a/sql/lex_string.h b/sql/lex_string.h
index e7a732346c4..c2c9701a70c 100644
--- a/sql/lex_string.h
+++ b/sql/lex_string.h
@@ -108,4 +108,8 @@ static inline bool lex_string_eq(const LEX_CSTRING *a, const char *b, size_t b_l
return strcasecmp(a->str, b) == 0;
}
+inline LEX_CSTRING strdup_root(MEM_ROOT *root, const LEX_CSTRING str)
+{
+ return safe_lexcstrdup_root(root, str);
+}
#endif /* LEX_STRING_INCLUDED */
diff --git a/sql/partition_element.h b/sql/partition_element.h
index 2427f42534c..8e0c32b7405 100644
--- a/sql/partition_element.h
+++ b/sql/partition_element.h
@@ -32,15 +32,13 @@ enum partition_type {
enum partition_state {
PART_NORMAL= 0,
- PART_IS_DROPPED= 1,
- PART_TO_BE_DROPPED= 2,
- PART_TO_BE_ADDED= 3,
- PART_TO_BE_REORGED= 4,
- PART_REORGED_DROPPED= 5,
- PART_CHANGED= 6,
- PART_IS_CHANGED= 7,
- PART_IS_ADDED= 8,
- PART_ADMIN= 9
+ PART_IS_DROPPED= 2,
+ PART_TO_BE_DROPPED= 4,
+ PART_TO_BE_ADDED= 8,
+ PART_TO_BE_REORGED= 16,
+ PART_REORGED_DROPPED= 32,
+ PART_CHANGED= 64,
+ PART_ADMIN= 128
};
/*
@@ -111,7 +109,6 @@ public:
ha_rows part_min_rows;
longlong range_value;
const char *partition_name;
- struct st_ddl_log_memory_entry *log_entry;
const char* part_comment;
const char* data_file_name;
const char* index_file_name;
@@ -130,7 +127,7 @@ public:
partition_element()
: part_max_rows(0), part_min_rows(0), range_value(0),
partition_name(NULL),
- log_entry(NULL), part_comment(NULL),
+ part_comment(NULL),
data_file_name(NULL), index_file_name(NULL),
engine_type(NULL), connect_string(null_clex_str), part_state(PART_NORMAL),
nodegroup_id(UNDEF_NODEGROUP), has_null_value(FALSE),
@@ -143,7 +140,6 @@ public:
: part_max_rows(part_elem->part_max_rows),
part_min_rows(part_elem->part_min_rows),
range_value(0), partition_name(NULL),
- log_entry(NULL),
part_comment(part_elem->part_comment),
data_file_name(part_elem->data_file_name),
index_file_name(part_elem->index_file_name),
@@ -174,6 +170,11 @@ public:
DBUG_ASSERT(!num_subparts || parent_part);
return num_subparts ? parent_part->id * num_subparts + id : id;
}
+
+ uint32 serial_id(partition_element *sub_elem, uint num_subparts) const
+ {
+ return sub_elem ? sub_elem->serial_id(num_subparts) : serial_id(num_subparts);
+ }
};
#endif /* PARTITION_ELEMENT_INCLUDED */
diff --git a/sql/partition_info.h b/sql/partition_info.h
index 46e17044b85..635f1df2736 100644
--- a/sql/partition_info.h
+++ b/sql/partition_info.h
@@ -32,8 +32,6 @@ typedef int (*get_part_id_func)(partition_info *part_info, uint32 *part_id,
typedef int (*get_subpart_id_func)(partition_info *part_info, uint32 *part_id);
typedef bool (*check_constants_func)(THD *thd, partition_info *part_info);
-struct st_ddl_log_memory_entry;
-
#define MAX_PART_NAME_SIZE 8
@@ -79,7 +77,7 @@ struct Vers_part_info : public Sql_alloc
partition_element *hist_part;
};
-class partition_info : public DDL_LOG_STATE, public Sql_alloc
+class partition_info : public Sql_alloc
{
public:
/*
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index a71b0fd0bb3..a330f4a9849 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -4938,7 +4938,7 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
without any changes at all.
*/
flags= table->file->alter_table_flags(alter_info->flags);
- if (flags & (HA_FAST_CHANGE_PARTITION | HA_PARTITION_ONE_PHASE))
+ if (flags & HA_FAST_CHANGE_PARTITION)
{
*fast_alter_table= true;
/* Force table re-open for consistency with the main case. */
@@ -4981,7 +4981,7 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
my_error(ER_PARTITION_FUNCTION_FAILURE, MYF(0));
goto err;
}
- if ((flags & (HA_FAST_CHANGE_PARTITION | HA_PARTITION_ONE_PHASE)) != 0)
+ if (flags & HA_FAST_CHANGE_PARTITION)
{
/*
"Fast" change of partitioning is supported in this case.
@@ -6018,534 +6018,554 @@ err:
}
-/*
- Change partitions, used to implement ALTER TABLE ADD/REORGANIZE/COALESCE
- partitions. This method is used to implement both single-phase and multi-
- phase implementations of ADD/REORGANIZE/COALESCE partitions.
-
- SYNOPSIS
- mysql_change_partitions()
- lpt Struct containing parameters
-
- RETURN VALUES
- TRUE Failure
- FALSE Success
+/**
+ DDL logger and partiton renamer
- DESCRIPTION
- Request handler to add partitions as set in states of the partition
-
- Elements of the lpt parameters used:
- create_info Create information used to create partitions
- db Database name
- table_name Table name
- copied Output parameter where number of copied
- records are added
- deleted Output parameter where number of deleted
- records are added
+ Processes DROP PARTITION action and serves to other ALTER commands as an
+ utility basis.
*/
-static bool mysql_change_partitions(ALTER_PARTITION_PARAM_TYPE *lpt)
+class Alter_partition_logger
{
- char path[FN_REFLEN+1];
- int error;
- handler *file= lpt->table->file;
- THD *thd= lpt->thd;
- DBUG_ENTER("mysql_change_partitions");
+ char path_buf[FN_REFLEN + 1];
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
+protected:
+ const char *path;
+ uint from_name_type; /* NORMAL_PART_NAME, TEMP_PART_NAME, RENAMED_PART_NAME */
+ uint to_name_type; /* same + SKIP_PART_NAME */
- if(mysql_trans_prepare_alter_copy_data(thd))
- DBUG_RETURN(TRUE);
+ DDL_LOG_ENTRY ddl_log_entry;
- /* TODO: test if bulk_insert would increase the performance */
+ char from_name[FN_REFLEN + 1];
+ char to_name[FN_REFLEN + 1];
+ ALTER_PARTITION_PARAM_TYPE *lpt;
+ TABLE *table;
+ partition_info *part_info;
+ DDL_LOG_STATE *rollback_chain;
+ DDL_LOG_STATE *cleanup_chain;
+ ha_partition *hp;
+
+public:
+ enum Phase
+ {
+ RENAME_TO_BACKUPS= 0,
+ LOG_DROP_BACKUPS= 2,
+ ADD_PARTITIONS= 4,
+ RENAME_ADDED_PARTS= 8,
+ CONVERT_OUT= 16,
+ CONVERT_IN= 32,
+ NO_PHASE= 255
+ } phase;
+
+ Alter_partition_logger(ALTER_PARTITION_PARAM_TYPE *lpt) :
+ path(NULL), from_name_type(SKIP_PART_NAME),
+ to_name_type(SKIP_PART_NAME),
+ lpt(lpt), table(lpt->table), part_info(lpt->part_info),
+ rollback_chain(&lpt->rollback_chain),
+ cleanup_chain(&lpt->cleanup_chain),
+ hp((ha_partition *) table->file)
+ {
+ DBUG_ASSERT(table->file->ht->db_type == DB_TYPE_PARTITION_DB);
+ build_table_filename(path_buf, sizeof(path_buf) - 1, lpt->db.str,
+ lpt->table_name.str, "", 0);
+ path= path_buf;
+ }
+
+ virtual ~Alter_partition_logger() {}
+ bool iterate(Phase phase, uint from_name_arg, uint to_name_arg,
+ List<partition_element> *parts);
+
+ /**
+ Make from_name, to_name according to from_name_type, to_name_type.
+ Set common ddl_log_entry parameters like flags, handler_name.
+ */
- if (unlikely((error= file->ha_change_partitions(lpt->create_info, path,
- &lpt->copied,
- &lpt->deleted,
- lpt->pack_frm_data,
- lpt->pack_frm_len))))
- {
- file->print_error(error, MYF(error != ER_OUTOFMEMORY ? 0 : ME_FATAL));
+ bool build_names(partition_element *part_elem, partition_element *sub_elem)
+ {
+ bzero(&ddl_log_entry, sizeof(ddl_log_entry));
+ ddl_log_entry.flags= DDL_LOG_FLAG_ALTER_PARTITION;
+
+ DBUG_ASSERT(lpt->thd->mdl_context.is_lock_owner(MDL_key::TABLE,
+ table->s->db.str,
+ table->s->table_name.str,
+ MDL_EXCLUSIVE));
+
+ handlerton *ht= part_elem->engine_type ?
+ part_elem->engine_type : part_info->default_engine_type;
+ DBUG_ASSERT(ht);
+ lex_string_set(&ddl_log_entry.handler_name,
+ ha_resolve_storage_engine_name(ht));
+ if (!sub_elem)
+ {
+ if (from_name_type != SKIP_PART_NAME &&
+ create_partition_name(from_name, sizeof(from_name), path,
+ part_elem->partition_name, from_name_type,
+ true /* translate */))
+ return true;
+ if (to_name_type != SKIP_PART_NAME &&
+ create_partition_name(to_name, sizeof(to_name), path,
+ part_elem->partition_name, to_name_type,
+ true /* translate */))
+ return true;
+ }
+ else
+ {
+ if (from_name_type != SKIP_PART_NAME &&
+ create_subpartition_name(from_name, sizeof(from_name), path,
+ part_elem->partition_name,
+ sub_elem->partition_name, from_name_type))
+ return true;
+ if (to_name_type != SKIP_PART_NAME &&
+ create_subpartition_name(to_name, sizeof(to_name), path,
+ part_elem->partition_name,
+ sub_elem->partition_name, to_name_type))
+ return true;
+ }
+
+ return false;
}
- if (mysql_trans_commit_alter_copy_data(thd))
- error= 1; /* The error has been reported */
+ /**
+ check_state() selects partitions to be processed by process_partition()
+ */
- DBUG_RETURN(MY_TEST(error));
-}
+ virtual
+ bool check_state(partition_element *part_elem)
+ {
+ return part_elem->part_state == PART_TO_BE_DROPPED;
+ }
+ /**
+ DROP PARTITION processing
-/*
- Rename partitions in an ALTER TABLE of partitions
+ Iterate phases: rename partitions marked for drop to backup partitions and
+ write rollback_chain so it reverts these operations. Write cleanup_chain so
+ it drops backup partitions, but only when rollback_chain is inactive.
+ */
- SYNOPSIS
- mysql_rename_partitions()
- lpt Struct containing parameters
+ bool rename_parts()
+ {
+ if (iterate(RENAME_TO_BACKUPS, NORMAL_PART_NAME, RENAMED_PART_NAME,
+ &part_info->partitions))
+ return true;
+ if (iterate(LOG_DROP_BACKUPS, RENAMED_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
- RETURN VALUES
- TRUE Failure
- FALSE Success
+ bool debug_crash_or_fail()
+ {
+#ifndef DBUG_OFF
+ switch (phase)
+ {
+ case RENAME_TO_BACKUPS:
+ if (ERROR_INJECT("alter_partition_rename_to_backup"))
+ return true;
+ break;
+ case RENAME_ADDED_PARTS:
+ if (ERROR_INJECT("alter_partition_rename_added_part"))
+ return true;
+ break;
+ case LOG_DROP_BACKUPS:
+ if (ERROR_INJECT("alter_partition_rename_drop_backup"))
+ return true;
+ break;
+ default:
+ break;
+ }
+#endif
+ return false;
+ }
- DESCRIPTION
- Request handler to rename partitions as set in states of the partition
+ void debug_assert_states(partition_element *part_elem)
+ {
+#ifndef DBUG_OFF
+ switch (phase)
+ {
+ case RENAME_TO_BACKUPS:
+ DBUG_ASSERT(from_name_type == NORMAL_PART_NAME);
+ DBUG_ASSERT(to_name_type == RENAMED_PART_NAME);
+ DBUG_ASSERT(part_elem->part_state & (
+ PART_TO_BE_DROPPED |
+ PART_TO_BE_REORGED |
+ PART_REORGED_DROPPED |
+ PART_CHANGED));
+ break;
+ case RENAME_ADDED_PARTS:
+ DBUG_ASSERT(from_name_type == TEMP_PART_NAME);
+ DBUG_ASSERT(to_name_type == NORMAL_PART_NAME);
+ break;
+ case CONVERT_OUT:
+ DBUG_ASSERT(from_name_type == NORMAL_PART_NAME);
+ DBUG_ASSERT(to_name_type == SKIP_PART_NAME);
+ DBUG_ASSERT(to_name[0]); /* to_name is external table name */
+ DBUG_ASSERT(part_elem->part_state & PART_TO_BE_DROPPED);
+ break;
+ case CONVERT_IN:
+ DBUG_ASSERT(from_name_type == SKIP_PART_NAME);
+ DBUG_ASSERT(to_name_type == NORMAL_PART_NAME);
+ DBUG_ASSERT(to_name[0]); /* to_name is external table name */
+ DBUG_ASSERT(part_elem->part_state & PART_TO_BE_ADDED);
+ break;
+ case ADD_PARTITIONS:
+ DBUG_ASSERT(to_name_type == SKIP_PART_NAME);
+ break;
+ case LOG_DROP_BACKUPS:
+ DBUG_ASSERT(from_name_type == RENAMED_PART_NAME);
+ DBUG_ASSERT(to_name_type == SKIP_PART_NAME);
+ DBUG_ASSERT(part_elem->part_state & (
+ PART_TO_BE_DROPPED |
+ PART_TO_BE_REORGED |
+ PART_REORGED_DROPPED |
+ PART_CHANGED));
+ break;
+ default:
+ DBUG_ASSERT(0);
+ break;
+ }
+#endif
+ }
- Parameters used:
- db Database name
- table_name Table name
-*/
+ /**
+ The body of iteration: each partition selected by check_state() is
+ processed here.
-static bool mysql_rename_partitions(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- char path[FN_REFLEN+1];
- int error;
- DBUG_ENTER("mysql_rename_partitions");
+ Do DDL logging and convey the rename. It doesn't do drop because that is
+ done by replaying cleanup_chain. Add is done by Alter_partition_add.
+ */
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- if (unlikely((error= lpt->table->file->ha_rename_partitions(path))))
+ virtual
+ bool process_partition(partition_element *part_elem,
+ partition_element *sub_elem)
{
- if (error != 1)
- lpt->table->file->print_error(error, MYF(0));
- DBUG_RETURN(TRUE);
- }
- DBUG_RETURN(FALSE);
-}
+ debug_assert_states(part_elem);
+ DDL_LOG_STATE *output_chain= rollback_chain;
+ switch (phase)
+ {
+ case RENAME_TO_BACKUPS:
+ case RENAME_ADDED_PARTS:
+ case CONVERT_OUT:
+ case CONVERT_IN:
+ ddl_log_entry.action_type= DDL_LOG_RENAME_TABLE_ACTION;
+ ddl_log_entry.phase= DDL_RENAME_PHASE_TABLE;
+ ddl_log_entry.name= { from_name, strlen(from_name) };
+ ddl_log_entry.from_name= { to_name, strlen(to_name) };
+ break;
+ case ADD_PARTITIONS:
+ ddl_log_entry.action_type= DDL_LOG_DROP_TABLE_ACTION;
+ ddl_log_entry.tmp_name= { from_name, strlen(from_name) };
+ break;
+ case LOG_DROP_BACKUPS:
+ ddl_log_entry.action_type= DDL_LOG_DROP_TABLE_ACTION;
+ ddl_log_entry.tmp_name= { from_name, strlen(from_name) };
+ output_chain= cleanup_chain;
+ /* cleanup_chain cannot be executed before rollback_chain */
+ ddl_log_link_chains(cleanup_chain, rollback_chain);
+ break;
+ default:
+ DBUG_ASSERT(0);
+ return true;
+ }
-/*
- Drop partitions in an ALTER TABLE of partitions
+ ddl_log_entry.next_entry= output_chain->list ?
+ output_chain->list->entry_pos : 0;
+ if (ddl_log_write(output_chain, &ddl_log_entry))
+ {
+ my_error(ER_DDL_LOG_ERROR, MYF(0));
+ return true;
+ }
- SYNOPSIS
- mysql_drop_partitions()
- lpt Struct containing parameters
+ if (ddl_log_entry.action_type == DDL_LOG_RENAME_TABLE_ACTION)
+ {
+ int ha_err;
+ DBUG_ASSERT(table->file->ht->db_type == DB_TYPE_PARTITION_DB);
+ handler *file= (phase & (RENAME_ADDED_PARTS|CONVERT_IN) ?
+ hp->get_new_handler(part_elem, sub_elem) :
+ hp->get_child_handler(part_elem, sub_elem));
+ ha_err= file->ha_rename_table(from_name, to_name);
+ if (ha_err ||
+ ERROR_INJECT("alter_partition_rename_table"))
+ {
+ file->print_error(ha_err, MYF(0));
+ return true;
+ }
+ }
+
+ return debug_crash_or_fail();
+ }
+};
- RETURN VALUES
- TRUE Failure
- FALSE Success
- DESCRIPTION
- Drop the partitions marked with PART_TO_BE_DROPPED state and remove
- those partitions from the list.
- Parameters used:
- table Table object
- db Database name
- table_name Table name
+/**
+ ADD PARTITION action
*/
-static bool mysql_drop_partitions(ALTER_PARTITION_PARAM_TYPE *lpt)
+class Alter_partition_add : public Alter_partition_logger
{
- char path[FN_REFLEN+1];
- partition_info *part_info= lpt->table->part_info;
- List_iterator<partition_element> part_it(part_info->partitions);
- int error;
- DBUG_ENTER("mysql_drop_partitions");
+protected:
+ uint disable_non_uniq_indexes;
+ int ha_err;
- DBUG_ASSERT(lpt->thd->mdl_context.is_lock_owner(MDL_key::TABLE,
- lpt->table->s->db.str,
- lpt->table->s->table_name.str,
- MDL_EXCLUSIVE));
+public:
+ Alter_partition_add(ALTER_PARTITION_PARAM_TYPE *lpt) :
+ Alter_partition_logger(lpt)
+ {
+ disable_non_uniq_indexes= hp->indexes_are_disabled();
+ }
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- if ((error= lpt->table->file->ha_drop_partitions(path)))
+ bool check_state(partition_element *part_elem)
{
- lpt->table->file->print_error(error, MYF(0));
- DBUG_RETURN(TRUE);
+ return part_elem->part_state == PART_TO_BE_ADDED;
}
- DBUG_RETURN(FALSE);
-}
+ /**
+ ADD PARTITION processing
+ */
-/*
- Convert partition to a table in an ALTER TABLE of partitions
+ bool add_parts()
+ {
+ ha_err= hp->allocate_partitions();
+ if (ha_err)
+ {
+ hp->print_error(ha_err, MYF(0));
+ return true;
+ }
+ if (iterate(ADD_PARTITIONS, NORMAL_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
- SYNOPSIS
- alter_partition_convert_out()
- lpt Struct containing parameters
+ bool process_partition(partition_element *part_elem,
+ partition_element *sub_elem)
+ {
+ DBUG_ASSERT(phase == ADD_PARTITIONS);
+ DBUG_ASSERT(!ha_err);
- RETURN VALUES
- TRUE Failure
- FALSE Success
+ if (Alter_partition_logger::process_partition(part_elem, sub_elem))
+ return true;
- DESCRIPTION
- Rename partition table marked with PART_TO_BE_DROPPED into a separate table
- under the name lpt->alter_ctx->(new_db, new_name).
+ ha_err= hp->create_partition(table, lpt->create_info, from_name,
+ sub_elem ? sub_elem : part_elem,
+ disable_non_uniq_indexes);
+ if (ha_err ||
+ ERROR_INJECT("alter_partition_add"))
+ {
+ hp->print_error(ha_err, MYF(0));
+ hp->cleanup_new_partition();
+ return true;
+ }
- This is ddl-logged by write_log_convert_out_partition().
+ return false;
+ }
+};
+
+
+/**
+ Change partition action
+
+ ADD HASH / COALESCE / REBUILD / REORGANIZE / CONVERT IN / CONVERT OUT
*/
-static bool alter_partition_convert_out(ALTER_PARTITION_PARAM_TYPE *lpt)
+class Alter_partition_change : public Alter_partition_add
{
- partition_info *part_info= lpt->table->part_info;
- THD *thd= lpt->thd;
- int error;
- handler *file= get_new_handler(NULL, thd->mem_root, part_info->default_engine_type);
+ uint processed_state;
- DBUG_ASSERT(lpt->thd->mdl_context.is_lock_owner(MDL_key::TABLE,
- lpt->table->s->db.str,
- lpt->table->s->table_name.str,
- MDL_EXCLUSIVE));
+public:
+ using Alter_partition_add::Alter_partition_add;
- char from_name[FN_REFLEN + 1], to_name[FN_REFLEN + 1];
- const char *path= lpt->table->s->path.str;
+ bool check_state(partition_element *part_elem)
+ {
+ return part_elem->part_state & processed_state;
+ }
- build_table_filename(to_name, sizeof(to_name) - 1, lpt->alter_ctx->new_db.str,
- lpt->alter_ctx->new_name.str, "", 0);
+ /**
+ REORGANIZE processing part 1
+ */
- for (const partition_element &e: part_info->partitions)
+ bool add_parts_and_copy_data(THD *thd)
{
- if (e.part_state != PART_TO_BE_DROPPED)
- continue;
-
- if (unlikely((error= create_partition_name(from_name, sizeof(from_name),
- path, e.partition_name,
- NORMAL_PART_NAME, FALSE))))
+ ha_err= hp->allocate_partitions();
+ if (ha_err)
{
- DBUG_ASSERT(thd->is_error());
+ hp->print_error(ha_err, MYF(0));
return true;
}
- if (DBUG_IF("error_convert_partition_00") ||
- unlikely(error= file->ha_rename_table(from_name, to_name)))
+
+ /*
+ ha_enable_transaction() must be done before ha_create():
+ Aria stores born_transactional and uses it for copy data.
+ */
+ if ((ha_err= mysql_trans_prepare_alter_copy_data(thd)))
{
- my_error(ER_ERROR_ON_RENAME, MYF(0), from_name, to_name, my_errno);
- lpt->table->file->print_error(error, MYF(0));
+ hp->print_error(ha_err, MYF(0));
return true;
}
- break;
- }
- return false;
-}
+ processed_state= (PART_TO_BE_ADDED|PART_CHANGED);
+ if (iterate(ADD_PARTITIONS, TEMP_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ {
+ (void) mysql_trans_commit_alter_copy_data(thd, true);
+ return true;
+ }
+ if (ERROR_INJECT("change_partition_add_parts_1") ||
+ (ha_err= hp->copy_partitions(&lpt->copied, &lpt->deleted)) ||
+ ERROR_INJECT("change_partition_add_parts_2") ||
+ (ha_err= mysql_trans_commit_alter_copy_data(thd, false)) ||
+ ERROR_INJECT("change_partition_add_parts_3"))
+ {
+ (void) mysql_trans_commit_alter_copy_data(thd, true);
+ hp->print_error(ha_err, MYF(0));
+ return true;
+ }
-/*
- Release all log entries for this partition info struct
- SYNOPSIS
- release_part_info_log_entries()
- first_log_entry First log entry in list to release
- RETURN VALUES
- NONE
-*/
+ return false;
+ }
-static void release_part_info_log_entries(DDL_LOG_MEMORY_ENTRY *log_entry)
-{
- DBUG_ENTER("release_part_info_log_entries");
+ /**
+ REORGANIZE processing part 2
+ */
- while (log_entry)
+ bool rename_parts()
{
- DDL_LOG_MEMORY_ENTRY *next= log_entry->next_active_log_entry;
- ddl_log_release_memory_entry(log_entry);
- log_entry= next;
+ DEBUG_SYNC(lpt->thd, "before_rename_partitions");
+ if (part_info->temp_partitions.elements)
+ {
+ processed_state= PART_TO_BE_REORGED;
+ if (iterate(RENAME_TO_BACKUPS, NORMAL_PART_NAME, RENAMED_PART_NAME,
+ &part_info->temp_partitions))
+ return true;
+ }
+ processed_state= PART_CHANGED|PART_REORGED_DROPPED;
+ if (iterate(RENAME_TO_BACKUPS, NORMAL_PART_NAME, RENAMED_PART_NAME,
+ &part_info->partitions) ||
+ ERROR_INJECT("change_partition_rename_parts_1"))
+ return true;
+ processed_state= PART_TO_BE_ADDED|PART_CHANGED;
+ if (iterate(RENAME_ADDED_PARTS, TEMP_PART_NAME, NORMAL_PART_NAME,
+ &part_info->partitions) ||
+ ERROR_INJECT("change_partition_rename_parts_2"))
+ return true;
+ if (part_info->temp_partitions.elements)
+ {
+ processed_state= PART_TO_BE_REORGED;
+ if (iterate(LOG_DROP_BACKUPS, RENAMED_PART_NAME, SKIP_PART_NAME,
+ &part_info->temp_partitions))
+ return true;
+ }
+ processed_state= PART_CHANGED|PART_REORGED_DROPPED;
+ if (iterate(LOG_DROP_BACKUPS, RENAMED_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
}
- DBUG_VOID_RETURN;
-}
+ /**
+ CONVERT OUT processing
+ */
-/*
- Log an rename frm file
- SYNOPSIS
- write_log_replace_frm()
- lpt Struct for parameters
- next_entry Next reference to use in log record
- from_path Name to rename from
- to_path Name to rename to
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- Support routine that writes a replace of an frm file into the
- ddl log. It also inserts an entry that keeps track of used space into
- the partition info object
-*/
+ bool convert_out()
+ {
+ build_table_filename(to_name, sizeof(to_name) - 1,
+ lpt->alter_ctx->new_db.str,
+ lpt->alter_ctx->new_name.str, "", 0);
-bool write_log_replace_frm(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint next_entry,
- const char *from_path,
- const char *to_path)
-{
- DDL_LOG_ENTRY ddl_log_entry;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- DBUG_ENTER("write_log_replace_frm");
+ processed_state= PART_TO_BE_DROPPED;
+ if (iterate(CONVERT_OUT, NORMAL_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
- bzero(&ddl_log_entry, sizeof(ddl_log_entry));
- ddl_log_entry.action_type= DDL_LOG_REPLACE_ACTION;
- ddl_log_entry.next_entry= next_entry;
- lex_string_set(&ddl_log_entry.handler_name, reg_ext);
- lex_string_set(&ddl_log_entry.name, to_path);
- lex_string_set(&ddl_log_entry.from_name, from_path);
+ /**
+ CONVERT IN processing
+ */
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
+ bool convert_in()
{
- DBUG_RETURN(true);
- }
- ddl_log_add_entry(lpt->part_info, log_entry);
- DBUG_RETURN(false);
-}
+ TABLE_LIST* table_from= lpt->table_list->next_local;
+ ha_err= hp->allocate_partitions();
+ if (ha_err)
+ {
+ hp->print_error(ha_err, MYF(0));
+ return true;
+ }
-/*
- Log final partition changes in change partition
- SYNOPSIS
- write_log_changed_partitions()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- This code is used to perform safe ADD PARTITION for HASH partitions
- and COALESCE for HASH partitions and REORGANIZE for any type of
- partitions.
- We prepare entries for all partitions except the reorganised partitions
- in REORGANIZE partition, those are handled by
- write_log_dropped_partitions. For those partitions that are replaced
- special care is needed to ensure that this is performed correctly and
- this requires a two-phased approach with this log as a helper for this.
-
- This code is closely intertwined with the code in rename_partitions in
- the partition handler.
-*/
+ build_table_filename(from_name, sizeof(from_name) - 1,
+ table_from->db.str, table_from->table_name.str,
+ "", 0);
-static bool write_log_changed_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint *next_entry, const char *path)
-{
- DDL_LOG_ENTRY ddl_log_entry;
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- char tmp_path[FN_REFLEN + 1];
- char normal_path[FN_REFLEN + 1];
- List_iterator<partition_element> part_it(part_info->partitions);
- uint temp_partitions= part_info->temp_partitions.elements;
- uint num_elements= part_info->partitions.elements;
- uint i= 0;
- DBUG_ENTER("write_log_changed_partitions");
+ processed_state= PART_TO_BE_ADDED;
+ if (iterate(CONVERT_IN, SKIP_PART_NAME, NORMAL_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
- do
+ bool process_partition(partition_element *part_elem,
+ partition_element *sub_elem)
{
- partition_element *part_elem= part_it++;
- if (part_elem->part_state == PART_IS_CHANGED ||
- (part_elem->part_state == PART_IS_ADDED && temp_partitions))
+ switch (phase)
{
- bzero(&ddl_log_entry, sizeof(ddl_log_entry));
- if (part_info->is_sub_partitioned())
- {
- List_iterator<partition_element> sub_it(part_elem->subpartitions);
- uint num_subparts= part_info->num_subparts;
- uint j= 0;
- do
- {
- partition_element *sub_elem= sub_it++;
- ddl_log_entry.next_entry= *next_entry;
- lex_string_set(&ddl_log_entry.handler_name,
- ha_resolve_storage_engine_name(sub_elem->
- engine_type));
- if (create_subpartition_name(tmp_path, sizeof(tmp_path), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- TEMP_PART_NAME) ||
- create_subpartition_name(normal_path, sizeof(normal_path), path,
- part_elem->partition_name,
- sub_elem->partition_name,
- NORMAL_PART_NAME))
- DBUG_RETURN(TRUE);
- lex_string_set(&ddl_log_entry.name, normal_path);
- lex_string_set(&ddl_log_entry.from_name, tmp_path);
- if (part_elem->part_state == PART_IS_CHANGED)
- ddl_log_entry.action_type= DDL_LOG_REPLACE_ACTION;
- else
- ddl_log_entry.action_type= DDL_LOG_RENAME_ACTION;
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
- DBUG_RETURN(TRUE);
-
- *next_entry= log_entry->entry_pos;
- sub_elem->log_entry= log_entry;
- ddl_log_add_entry(part_info, log_entry);
- } while (++j < num_subparts);
- }
- else
- {
- ddl_log_entry.next_entry= *next_entry;
- lex_string_set(&ddl_log_entry.handler_name,
- ha_resolve_storage_engine_name(part_elem->engine_type));
- if (create_partition_name(tmp_path, sizeof(tmp_path), path,
- part_elem->partition_name, TEMP_PART_NAME,
- TRUE) ||
- create_partition_name(normal_path, sizeof(normal_path), path,
- part_elem->partition_name, NORMAL_PART_NAME,
- TRUE))
- DBUG_RETURN(TRUE);
- lex_string_set(&ddl_log_entry.name, normal_path);
- lex_string_set(&ddl_log_entry.from_name, tmp_path);
- if (part_elem->part_state == PART_IS_CHANGED)
- ddl_log_entry.action_type= DDL_LOG_REPLACE_ACTION;
- else
- ddl_log_entry.action_type= DDL_LOG_RENAME_ACTION;
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
- {
- DBUG_RETURN(TRUE);
- }
- *next_entry= log_entry->entry_pos;
- part_elem->log_entry= log_entry;
- ddl_log_add_entry(part_info, log_entry);
- }
+ case ADD_PARTITIONS:
+ return Alter_partition_add::process_partition(part_elem, sub_elem);
+ case RENAME_TO_BACKUPS:
+ case RENAME_ADDED_PARTS:
+ case LOG_DROP_BACKUPS:
+ case CONVERT_OUT:
+ case CONVERT_IN:
+ return Alter_partition_logger::process_partition(part_elem, sub_elem);
+ default:
+ DBUG_ASSERT(0);
+ return true;
}
- } while (++i < num_elements);
- DBUG_RETURN(FALSE);
-}
-
-
-/*
- Log dropped or converted partitions
- SYNOPSIS
- log_drop_or_convert_action()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
-*/
-
-enum log_action_enum
-{
- ACT_DROP = 0,
- ACT_CONVERT_IN,
- ACT_CONVERT_OUT
+ return false;
+ }
};
-static bool log_drop_or_convert_action(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint *next_entry, const char *path,
- const char *from_name, bool temp_list,
- const log_action_enum convert_action)
+
+bool Alter_partition_logger::iterate(Phase phase_arg,
+ uint from_name_arg, uint to_name_arg,
+ List<partition_element> *parts)
{
- DDL_LOG_ENTRY ddl_log_entry;
- DBUG_ASSERT(convert_action == ACT_DROP || (from_name != NULL));
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- char tmp_path[FN_REFLEN + 1];
- List_iterator<partition_element> part_it(part_info->partitions);
- List_iterator<partition_element> temp_it(part_info->temp_partitions);
- uint num_temp_partitions= part_info->temp_partitions.elements;
- uint num_elements= part_info->partitions.elements;
- DBUG_ENTER("log_drop_or_convert_action");
-
- bzero(&ddl_log_entry, sizeof(ddl_log_entry));
-
- ddl_log_entry.action_type= convert_action ?
- DDL_LOG_RENAME_ACTION :
- DDL_LOG_DELETE_ACTION;
- if (temp_list)
- num_elements= num_temp_partitions;
- while (num_elements--)
- {
- partition_element *part_elem;
- if (temp_list)
- part_elem= temp_it++;
- else
- part_elem= part_it++;
- if (part_elem->part_state == PART_TO_BE_DROPPED ||
- part_elem->part_state == PART_TO_BE_ADDED ||
- part_elem->part_state == PART_CHANGED)
- {
- uint name_variant;
- if (part_elem->part_state == PART_CHANGED ||
- (part_elem->part_state == PART_TO_BE_ADDED &&
- num_temp_partitions))
- name_variant= TEMP_PART_NAME;
- else
- name_variant= NORMAL_PART_NAME;
- DBUG_ASSERT(convert_action != ACT_CONVERT_IN ||
- part_elem->part_state == PART_TO_BE_ADDED);
- DBUG_ASSERT(convert_action != ACT_CONVERT_OUT ||
- part_elem->part_state == PART_TO_BE_DROPPED);
+ phase= phase_arg;
+ from_name_type= from_name_arg;
+ to_name_type= to_name_arg;
+ List_iterator<partition_element> part_it(*parts);
+ partition_element *part_elem;
+ while ((part_elem= part_it++))
+ {
+ if (check_state(part_elem))
+ {
if (part_info->is_sub_partitioned())
{
- DBUG_ASSERT(!convert_action);
List_iterator<partition_element> sub_it(part_elem->subpartitions);
uint num_subparts= part_info->num_subparts;
uint j= 0;
do
{
partition_element *sub_elem= sub_it++;
- ddl_log_entry.next_entry= *next_entry;
- lex_string_set(&ddl_log_entry.handler_name,
- ha_resolve_storage_engine_name(sub_elem->
- engine_type));
- if (create_subpartition_name(tmp_path, sizeof(tmp_path), path,
- part_elem->partition_name,
- sub_elem->partition_name, name_variant))
- DBUG_RETURN(TRUE);
- lex_string_set(&ddl_log_entry.name, tmp_path);
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
- {
- DBUG_RETURN(TRUE);
- }
- *next_entry= log_entry->entry_pos;
- sub_elem->log_entry= log_entry;
- ddl_log_add_entry(part_info, log_entry);
+ if (build_names(part_elem, sub_elem))
+ return true;
+ if (process_partition(part_elem, sub_elem))
+ return true;
} while (++j < num_subparts);
}
else
{
- ddl_log_entry.next_entry= *next_entry;
- lex_string_set(&ddl_log_entry.handler_name,
- ha_resolve_storage_engine_name(part_elem->engine_type));
- if (create_partition_name(tmp_path, sizeof(tmp_path), path,
- part_elem->partition_name, name_variant,
- TRUE))
- DBUG_RETURN(TRUE);
- switch (convert_action)
- {
- case ACT_CONVERT_OUT:
- ddl_log_entry.from_name= { from_name, strlen(from_name) };
- /* fall through */
- case ACT_DROP:
- ddl_log_entry.name= { tmp_path, strlen(tmp_path) };
- break;
- case ACT_CONVERT_IN:
- ddl_log_entry.name= { from_name, strlen(from_name) };
- ddl_log_entry.from_name= { tmp_path, strlen(tmp_path) };
- }
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
- {
- DBUG_RETURN(TRUE);
- }
- *next_entry= log_entry->entry_pos;
- part_elem->log_entry= log_entry;
- ddl_log_add_entry(part_info, log_entry);
+ if (build_names(part_elem, NULL))
+ return true;
+ if (process_partition(part_elem, NULL))
+ return true;
}
}
}
- DBUG_RETURN(FALSE);
-}
-
-
-inline
-static bool write_log_dropped_partitions(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint *next_entry, const char *path,
- bool temp_list)
-{
- return log_drop_or_convert_action(lpt, next_entry, path, NULL, temp_list,
- ACT_DROP);
-}
-
-inline
-static bool write_log_convert_partition(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint *next_entry, const char *path)
-{
- char other_table[FN_REFLEN + 1];
- const ulong f= lpt->alter_info->partition_flags;
- DBUG_ASSERT((f & ALTER_PARTITION_CONVERT_IN) || (f & ALTER_PARTITION_CONVERT_OUT));
- const log_action_enum convert_action= (f & ALTER_PARTITION_CONVERT_IN)
- ? ACT_CONVERT_IN : ACT_CONVERT_OUT;
- build_table_filename(other_table, sizeof(other_table) - 1, lpt->alter_ctx->new_db.str,
- lpt->alter_ctx->new_name.str, "", 0);
- DDL_LOG_MEMORY_ENTRY *main_entry= lpt->part_info->main_entry;
- bool res= log_drop_or_convert_action(lpt, next_entry, path, other_table,
- false, convert_action);
- /*
- NOTE: main_entry is "drop shadow frm", we have to keep it like this
- because partitioning crash-safety disables it at install shadow FRM phase.
- This is needed to avoid spurious drop action when the shadow frm is replaced
- by the backup frm and there is nothing to drop.
- */
- lpt->part_info->main_entry= main_entry;
- return res;
+ return false;
}
@@ -6565,12 +6585,11 @@ static bool write_log_convert_partition(ALTER_PARTITION_PARAM_TYPE *lpt,
*/
static bool write_log_drop_frm(ALTER_PARTITION_PARAM_TYPE *lpt,
- DDL_LOG_STATE *drop_chain)
+ DDL_LOG_STATE *drop_chain,
+ bool drop_backup)
{
char path[FN_REFLEN + 1];
DBUG_ENTER("write_log_drop_frm");
- const DDL_LOG_STATE *main_chain= lpt->part_info;
- const bool drop_backup= (drop_chain != main_chain);
build_table_shadow_filename(path, sizeof(path) - 1, lpt, drop_backup);
mysql_mutex_lock(&LOCK_gdl);
@@ -6588,15 +6607,15 @@ static bool write_log_drop_frm(ALTER_PARTITION_PARAM_TYPE *lpt,
}
if (ddl_log_write_execute_entry(drop_chain->list->entry_pos,
- drop_backup ?
- main_chain->execute_entry->entry_pos : 0,
+ (drop_backup ?
+ lpt->rollback_chain.execute_entry->entry_pos :
+ 0),
&drop_chain->execute_entry))
goto error;
mysql_mutex_unlock(&LOCK_gdl);
DBUG_RETURN(FALSE);
error:
- release_part_info_log_entries(drop_chain->list);
mysql_mutex_unlock(&LOCK_gdl);
drop_chain->list= NULL;
my_error(ER_DDL_LOG_ERROR, MYF(0));
@@ -6607,361 +6626,67 @@ error:
static inline
bool write_log_drop_shadow_frm(ALTER_PARTITION_PARAM_TYPE *lpt)
{
- return write_log_drop_frm(lpt, lpt->part_info);
-}
-
-
-/*
- Log renaming of shadow frm to real frm name and dropping of old frm
- SYNOPSIS
- write_log_rename_frm()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- Prepare an entry to ensure that we complete the renaming of the frm
- file if failure occurs in the middle of the rename process.
-*/
-
-static bool write_log_rename_frm(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- DDL_LOG_MEMORY_ENTRY *exec_log_entry= part_info->execute_entry;
- char path[FN_REFLEN + 1];
- char shadow_path[FN_REFLEN + 1];
- DDL_LOG_MEMORY_ENTRY *old_first_log_entry= part_info->list;
- DBUG_ENTER("write_log_rename_frm");
-
- part_info->list= NULL;
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- build_table_shadow_filename(shadow_path, sizeof(shadow_path) - 1, lpt);
- mysql_mutex_lock(&LOCK_gdl);
- if (write_log_replace_frm(lpt, 0UL, shadow_path, path))
- goto error;
- log_entry= part_info->list;
- part_info->main_entry= log_entry;
- if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
- &exec_log_entry))
- goto error;
- release_part_info_log_entries(old_first_log_entry);
- mysql_mutex_unlock(&LOCK_gdl);
- DBUG_RETURN(FALSE);
-
-error:
- release_part_info_log_entries(part_info->list);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->list= old_first_log_entry;
- part_info->main_entry= NULL;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- DBUG_RETURN(TRUE);
-}
-
-
-/*
- Write the log entries to ensure that the drop partition command is completed
- even in the presence of a crash.
-
- SYNOPSIS
- write_log_drop_partition()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- Prepare entries to the ddl log indicating all partitions to drop and to
- install the shadow frm file and remove the old frm file.
-*/
-
-static bool write_log_drop_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- DDL_LOG_MEMORY_ENTRY *exec_log_entry= part_info->execute_entry;
- char tmp_path[FN_REFLEN + 1];
- char path[FN_REFLEN + 1];
- uint next_entry= 0;
- DDL_LOG_MEMORY_ENTRY *old_first_log_entry= part_info->list;
- DBUG_ENTER("write_log_drop_partition");
-
- part_info->list= NULL;
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- build_table_shadow_filename(tmp_path, sizeof(tmp_path) - 1, lpt);
- mysql_mutex_lock(&LOCK_gdl);
- if (write_log_dropped_partitions(lpt, &next_entry, (const char*)path,
- FALSE))
- goto error;
- if (write_log_replace_frm(lpt, next_entry, (const char*)tmp_path,
- (const char*)path))
- goto error;
- log_entry= part_info->list;
- part_info->main_entry= log_entry;
- if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
- &exec_log_entry))
- goto error;
- release_part_info_log_entries(old_first_log_entry);
- mysql_mutex_unlock(&LOCK_gdl);
- DBUG_RETURN(FALSE);
-
-error:
- release_part_info_log_entries(part_info->list);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->list= old_first_log_entry;
- part_info->main_entry= NULL;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- DBUG_RETURN(TRUE);
-}
-
-
-static bool write_log_convert_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- partition_info *part_info= lpt->part_info;
- char tmp_path[FN_REFLEN + 1];
- char path[FN_REFLEN + 1];
- uint next_entry= part_info->list ? part_info->list->entry_pos : 0;
-
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- build_table_shadow_filename(tmp_path, sizeof(tmp_path) - 1, lpt);
-
- mysql_mutex_lock(&LOCK_gdl);
-
- if (write_log_convert_partition(lpt, &next_entry, (const char*)path))
- goto error;
- DBUG_ASSERT(next_entry == part_info->list->entry_pos);
- if (ddl_log_write_execute_entry(part_info->list->entry_pos, 0,
- &part_info->execute_entry))
- goto error;
- mysql_mutex_unlock(&LOCK_gdl);
- return false;
-
-error:
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->main_entry= NULL;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- return true;
-}
-
-
-/*
- Write the log entries to ensure that the add partition command is not
- executed at all if a crash before it has completed
-
- SYNOPSIS
- write_log_add_change_partition()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- Prepare entries to the ddl log indicating all partitions to drop and to
- remove the shadow frm file.
- We always inject entries backwards in the list in the ddl log since we
- don't know the entry position until we have written it.
-*/
-
-static bool write_log_add_change_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- char tmp_path[FN_REFLEN + 1];
- char path[FN_REFLEN + 1];
- uint next_entry= 0;
- DDL_LOG_MEMORY_ENTRY *old_first_log_entry= part_info->list;
- /* write_log_drop_shadow_frm(lpt) must have been run first */
- DBUG_ASSERT(old_first_log_entry);
- DBUG_ENTER("write_log_add_change_partition");
-
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- build_table_shadow_filename(tmp_path, sizeof(tmp_path) - 1, lpt);
- mysql_mutex_lock(&LOCK_gdl);
-
- /* Relink the previous drop shadow frm entry */
- if (old_first_log_entry)
- next_entry= old_first_log_entry->entry_pos;
- if (write_log_dropped_partitions(lpt, &next_entry, (const char*)path,
- FALSE))
- goto error;
- log_entry= part_info->list;
-
- if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
- &part_info->execute_entry))
- goto error;
- mysql_mutex_unlock(&LOCK_gdl);
- DBUG_RETURN(FALSE);
-
-error:
- release_part_info_log_entries(part_info->list);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->list= old_first_log_entry;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- DBUG_RETURN(TRUE);
-}
-
-
-/*
- Write description of how to complete the operation after first phase of
- change partitions.
-
- SYNOPSIS
- write_log_final_change_partition()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
- DESCRIPTION
- We will write log entries that specify to
- 1) Install the shadow frm file.
- 2) Remove all partitions reorganized. (To be able to reorganize a partition
- to the same name. Like in REORGANIZE p0 INTO (p0, p1),
- so that the later rename from the new p0-temporary name to p0 don't
- fail because the partition already exists.
- 3) Rename others to reflect the new naming scheme.
-
- Note that it is written in the ddl log in reverse.
-*/
-
-static bool write_log_final_change_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry;
- DDL_LOG_MEMORY_ENTRY *exec_log_entry= part_info->execute_entry;
- char path[FN_REFLEN + 1];
- char shadow_path[FN_REFLEN + 1];
- DDL_LOG_MEMORY_ENTRY *old_first_log_entry= part_info->list;
- uint next_entry= 0;
- DBUG_ENTER("write_log_final_change_partition");
-
- /*
- Do not link any previous log entry.
- Replace the revert operations with forced retry operations.
- */
- part_info->list= NULL;
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
- build_table_shadow_filename(shadow_path, sizeof(shadow_path) - 1, lpt);
- mysql_mutex_lock(&LOCK_gdl);
- if (write_log_changed_partitions(lpt, &next_entry, (const char*)path))
- goto error;
- if (write_log_dropped_partitions(lpt, &next_entry, (const char*)path,
- lpt->alter_info->partition_flags &
- ALTER_PARTITION_REORGANIZE))
- goto error;
- if (write_log_replace_frm(lpt, next_entry, shadow_path, path))
- goto error;
- log_entry= part_info->list;
- part_info->main_entry= log_entry;
- /* Overwrite the revert execute log entry with this retry execute entry */
- if (ddl_log_write_execute_entry(log_entry->entry_pos, 0,
- &exec_log_entry))
- goto error;
- release_part_info_log_entries(old_first_log_entry);
- mysql_mutex_unlock(&LOCK_gdl);
- DBUG_RETURN(FALSE);
-
-error:
- release_part_info_log_entries(part_info->list);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->list= old_first_log_entry;
- part_info->main_entry= NULL;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- DBUG_RETURN(TRUE);
-}
-
-
-/*
- Remove entry from ddl log and release resources for others to use
-
- SYNOPSIS
- write_log_completed()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
-*/
-
-/*
- TODO: Partitioning atomic DDL refactoring: this should be replaced with
- ddl_log_complete().
-*/
-static void write_log_completed(ALTER_PARTITION_PARAM_TYPE *lpt,
- bool dont_crash)
-{
- partition_info *part_info= lpt->part_info;
- DDL_LOG_MEMORY_ENTRY *log_entry= part_info->execute_entry;
- DBUG_ENTER("write_log_completed");
-
- DBUG_ASSERT(log_entry);
- mysql_mutex_lock(&LOCK_gdl);
- if (ddl_log_disable_execute_entry(&log_entry))
- {
- /*
- Failed to write, Bad...
- We have completed the operation but have log records to REMOVE
- stuff that shouldn't be removed. What clever things could one do
- here? An error output was written to the error output by the
- above method so we don't do anything here.
- */
- ;
- }
- release_part_info_log_entries(part_info->list);
- release_part_info_log_entries(part_info->execute_entry);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->execute_entry= NULL;
- part_info->list= NULL;
- DBUG_VOID_RETURN;
+ bool res= write_log_drop_frm(lpt, &lpt->rollback_chain, false);
+ if (!res)
+ lpt->drop_shadow_frm= lpt->rollback_chain.main_entry;
+ return res;
}
-
-/*
- Release all log entries
- SYNOPSIS
- release_log_entries()
- part_info Partition info struct
- RETURN VALUES
- NONE
-*/
-
-/*
- TODO: Partitioning atomic DDL refactoring: this should be replaced with
- ddl_log_release_entries().
-*/
-static void release_log_entries(partition_info *part_info)
+static inline
+bool write_log_drop_backup_frm(ALTER_PARTITION_PARAM_TYPE *lpt)
{
- mysql_mutex_lock(&LOCK_gdl);
- release_part_info_log_entries(part_info->list);
- release_part_info_log_entries(part_info->execute_entry);
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->list= NULL;
- part_info->execute_entry= NULL;
+ return write_log_drop_frm(lpt, &lpt->cleanup_chain, true);
}
/*
- Final part of partition changes to handle things when under
- LOCK TABLES.
+ Close tables, prepare for reopening under LOCK TABLES.
SYNPOSIS
alter_partition_lock_handling()
lpt Struct carrying parameters
- RETURN VALUES
- true on error
*/
-static bool alter_partition_lock_handling(ALTER_PARTITION_PARAM_TYPE *lpt)
+static void alter_partition_lock_handling(ALTER_PARTITION_PARAM_TYPE *lpt)
{
THD *thd= lpt->thd;
if (lpt->table)
{
- /*
- Remove all instances of the table and its locks and other resources.
- */
- close_all_tables_for_name(thd, lpt->table->s, HA_EXTRA_NOT_USED, NULL);
+ TABLE *table= lpt->table;
+ if (!thd->mdl_context.is_lock_owner(MDL_key::TABLE, lpt->db.str,
+ lpt->table_name.str,
+ MDL_EXCLUSIVE) &&
+ wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN))
+ {
+ /*
+ Did not succeed in getting exclusive access to the table.
+
+ Since we have altered a cached table object (and its part_info) we need
+ at least to remove this instance so it will not be reused.
+
+ Temporarily remove it from the locked table list, so that it will get
+ reopened.
+
+ Note: tested by partition_special_myisam partition_special_innodb
+ */
+ thd->locked_tables_list.unlink_from_list(thd,
+ table->pos_in_locked_tables,
+ false);
+ /*
+ Make sure that the table is unlocked, closed and removed from
+ the table cache.
+ */
+ mysql_lock_remove(thd, thd->lock, table);
+ close_thread_table(thd, &thd->open_tables);
+ lpt->table_list->table= NULL;
+ }
+ else
+ {
+ /* Ensure the share is destroyed and reopened. */
+ close_all_tables_for_name(thd, table->s, HA_EXTRA_NOT_USED, NULL);
+ }
}
lpt->table= 0;
lpt->table_list->table= 0;
- if (thd->locked_tables_mode)
- return thd->locked_tables_list.reopen_tables(thd, false);
-
- return false;
}
@@ -6989,197 +6714,6 @@ static int alter_close_table(ALTER_PARTITION_PARAM_TYPE *lpt)
/**
- Handle errors for ALTER TABLE for partitioning.
-
- @param lpt Struct carrying parameters
- @param action_completed The action must be completed, NOT reverted
- @param drop_partition Partitions has not been dropped yet
- @param frm_install The shadow frm-file has not yet been installed
- @param close_table Table is still open, close it before reverting
-*/
-
-/*
- TODO: Partitioning atomic DDL refactoring: this should be replaced with
- correct combination of ddl_log_revert() / ddl_log_complete()
-*/
-static void handle_alter_part_error(ALTER_PARTITION_PARAM_TYPE *lpt,
- bool action_completed,
- bool drop_partition,
- bool frm_install,
- bool reopen)
-{
- THD *thd= lpt->thd;
- partition_info *part_info= lpt->part_info->get_clone(thd);
- /* TABLE is going to be released, we should not access old part_info anymore */
- lpt->part_info= part_info;
- TABLE *table= lpt->table;
- DBUG_ENTER("handle_alter_part_error");
- DBUG_ASSERT(table->needs_reopen());
-
- /*
- All instances of this table needs to be closed.
- Better to do that here, than leave the cleaning up to others.
- Acquire EXCLUSIVE mdl lock if not already acquired.
- */
- if (!thd->mdl_context.is_lock_owner(MDL_key::TABLE, lpt->db.str,
- lpt->table_name.str,
- MDL_EXCLUSIVE) &&
- wait_while_table_is_used(thd, table, HA_EXTRA_FORCE_REOPEN))
- {
- /*
- Did not succeed in getting exclusive access to the table.
-
- Since we have altered a cached table object (and its part_info) we need
- at least to remove this instance so it will not be reused.
-
- Temporarily remove it from the locked table list, so that it will get
- reopened.
- */
- thd->locked_tables_list.unlink_from_list(thd,
- table->pos_in_locked_tables,
- false);
- /*
- Make sure that the table is unlocked, closed and removed from
- the table cache.
- */
- mysql_lock_remove(thd, thd->lock, table);
- close_thread_table(thd, &thd->open_tables);
- lpt->table_list->table= NULL;
- }
- else
- {
- /* Ensure the share is destroyed and reopened. */
- close_all_tables_for_name(thd, table->s, HA_EXTRA_NOT_USED, NULL);
- }
-
- if (!reopen)
- DBUG_VOID_RETURN;
-
- if (part_info->list &&
- ddl_log_execute_entry(thd, part_info->list->entry_pos))
- {
- /*
- We couldn't recover from error, most likely manual interaction
- is required.
- */
- write_log_completed(lpt, FALSE);
- release_log_entries(part_info);
- if (!action_completed)
- {
- if (drop_partition)
- {
- /* Table is still ok, but we left a shadow frm file behind. */
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Operation was unsuccessful, table is still "
- "intact, but it is possible that a shadow frm "
- "file was left behind");
- }
- else
- {
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Operation was unsuccessful, table is still "
- "intact, but it is possible that a shadow frm "
- "file was left behind. "
- "It is also possible that temporary partitions "
- "are left behind, these could be empty or more "
- "or less filled with records");
- }
- }
- else
- {
- if (frm_install)
- {
- /*
- Failed during install of shadow frm file, table isn't intact
- and dropped partitions are still there
- */
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Failed during alter of partitions, table is no "
- "longer intact. "
- "The frm file is in an unknown state, and a "
- "backup is required.");
- }
- else if (drop_partition)
- {
- /*
- Table is ok, we have switched to new table but left dropped
- partitions still in their places. We remove the log records and
- ask the user to perform the action manually. We remove the log
- records and ask the user to perform the action manually.
- */
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Failed during drop of partitions, table is "
- "intact. "
- "Manual drop of remaining partitions is required");
- }
- else
- {
- /*
- We failed during renaming of partitions. The table is most
- certainly in a very bad state so we give user warning and disable
- the table by writing an ancient frm version into it.
- */
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Failed during renaming of partitions. We are now "
- "in a position where table is not reusable "
- "Table is disabled by writing ancient frm file "
- "version into it");
- }
- }
- }
- else
- {
- release_log_entries(part_info);
- if (!action_completed)
- {
- /*
- We hit an error before things were completed but managed
- to recover from the error. An error occurred and we have
- restored things to original so no need for further action.
- */
- ;
- }
- else
- {
- /*
- We hit an error after we had completed most of the operation
- and were successful in a second attempt so the operation
- actually is successful now. We need to issue a warning that
- even though we reported an error the operation was successfully
- completed.
- */
- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 1,
- "Operation was successfully completed by failure "
- "handling, after failure of normal operation");
- }
- }
-
- if (thd->locked_tables_mode)
- {
- Diagnostics_area *stmt_da= NULL;
- Diagnostics_area tmp_stmt_da(true);
-
- if (unlikely(thd->is_error()))
- {
- /* reopen might fail if we have a previous error, use a temporary da. */
- stmt_da= thd->get_stmt_da();
- thd->set_stmt_da(&tmp_stmt_da);
- }
-
- /* NB: error status is not needed here, the statement fails with
- the original error. */
- if (unlikely(thd->locked_tables_list.reopen_tables(thd, false)))
- sql_print_warning("We failed to reacquire LOCKs in ALTER TABLE");
-
- if (stmt_da)
- thd->set_stmt_da(stmt_da);
- }
-
- DBUG_VOID_RETURN;
-}
-
-
-/**
Downgrade an exclusive MDL lock if under LOCK TABLE.
If we don't downgrade the lock, it will not be downgraded or released
@@ -7277,17 +6811,33 @@ static bool check_table_data(ALTER_PARTITION_PARAM_TYPE *lpt)
}
+bool alter_partition_binlog(ALTER_PARTITION_PARAM_TYPE *lpt)
+{
+ bool res;
+ THD *thd= lpt->thd;
+ if (thd->lex->no_write_to_binlog)
+ return false;
+
+ thd->binlog_xid= thd->query_id;
+ res= ERROR_INJECT("alter_partition_binlog_1") ||
+ ddl_log_update_xid(&lpt->rollback_chain, thd->binlog_xid);
+ if (!res)
+ res= ERROR_INJECT("alter_partition_binlog_2") ||
+ write_bin_log(thd, false, thd->query(), thd->query_length());
+ thd->binlog_xid= 0;
+ return res;
+}
+
+
/**
Actually perform the change requested by ALTER TABLE of partitions
previously prepared.
- @param thd Thread object
@param table Original table object with new part_info
@param alter_info ALTER TABLE info
+ @param alter_ctx ALTER TABLE context
@param create_info Create info for CREATE TABLE
@param table_list List of the table involved
- @param db Database name of new table
- @param table_name Table name of new table
@return Operation status
@retval TRUE Error
@@ -7304,25 +6854,10 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
HA_CREATE_INFO *create_info,
TABLE_LIST *table_list)
{
- /*
- TODO: Partitioning atomic DDL refactoring.
-
- DDL log chain state is stored in partition_info:
-
- struct st_ddl_log_memory_entry *first_log_entry;
- struct st_ddl_log_memory_entry *exec_log_entry;
- struct st_ddl_log_memory_entry *frm_log_entry;
-
- Make it stored and used in DDL_LOG_STATE like it was done in MDEV-17567.
- This requires mysql_write_frm() refactoring (see comment there).
- */
-
/* Set-up struct used to write frm files */
partition_info *part_info;
ALTER_PARTITION_PARAM_TYPE lpt_obj;
ALTER_PARTITION_PARAM_TYPE *lpt= &lpt_obj;
- bool action_completed= FALSE;
- bool frm_install= FALSE;
MDL_ticket *mdl_ticket= table->mdl_ticket;
/* option_bits is used to mark if we should log the query with IF EXISTS */
ulonglong save_option_bits= thd->variables.option_bits;
@@ -7338,163 +6873,51 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
lpt->create_info= create_info;
lpt->db_options= create_info->table_options_with_row_type();
lpt->table= table;
- lpt->key_info_buffer= 0;
- lpt->key_count= 0;
lpt->db= alter_ctx->db;
lpt->table_name= alter_ctx->table_name;
lpt->org_tabledef_version= table->s->tabledef_version;
- lpt->copied= 0;
- lpt->deleted= 0;
- lpt->pack_frm_data= NULL;
- lpt->pack_frm_len= 0;
+
+ DDL_LOG_STATE *rollback_chain= &lpt->rollback_chain;
+ DDL_LOG_STATE *cleanup_chain= &lpt->cleanup_chain;
/* Add IF EXISTS to binlog if shared table */
if (table->file->partition_ht()->flags & HTON_TABLE_MAY_NOT_EXIST_ON_SLAVE)
thd->variables.option_bits|= OPTION_IF_EXISTS;
- if (table->file->alter_table_flags(alter_info->flags) &
- HA_PARTITION_ONE_PHASE)
- {
- /*
- In the case where the engine supports one phase online partition
- changes it is not necessary to have any exclusive locks. The
- correctness is upheld instead by transactions being aborted if they
- access the table after its partition definition has changed (if they
- are still using the old partition definition).
-
- The handler is in this case responsible to ensure that all users
- start using the new frm file after it has changed. To implement
- one phase it is necessary for the handler to have the master copy
- of the frm file and use discovery mechanisms to renew it. Thus
- write frm will write the frm, pack the new frm and finally
- the frm is deleted and the discovery mechanisms will either restore
- back to the old or installing the new after the change is activated.
-
- Thus all open tables will be discovered that they are old, if not
- earlier as soon as they try an operation using the old table. One
- should ensure that this is checked already when opening a table,
- even if it is found in the cache of open tables.
-
- change_partitions will perform all operations and it is the duty of
- the handler to ensure that the frm files in the system gets updated
- in synch with the changes made and if an error occurs that a proper
- error handling is done.
-
- If the MySQL Server crashes at this moment but the handler succeeds
- in performing the change then the binlog is not written for the
- change. There is no way to solve this as long as the binlog is not
- transactional and even then it is hard to solve it completely.
-
- The first approach here was to downgrade locks. Now a different approach
- is decided upon. The idea is that the handler will have access to the
- Alter_info when store_lock arrives with TL_WRITE_ALLOW_READ. So if the
- handler knows that this functionality can be handled with a lower lock
- level it will set the lock level to TL_WRITE_ALLOW_WRITE immediately.
- Thus the need to downgrade the lock disappears.
- 1) Write the new frm, pack it and then delete it
- 2) Perform the change within the handler
- */
- if (mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
- mysql_change_partitions(lpt))
- {
- goto err;
- }
- }
- else if (alter_info->partition_flags & ALTER_PARTITION_DROP)
+ if (alter_info->partition_flags & ALTER_PARTITION_DROP)
{
+ Alter_partition_logger action_drop(lpt);
+
/*
- Now after all checks and setting state on dropped partitions we can
- start the actual dropping of the partitions.
-
- Drop partition is actually two things happening. The first is that
- a lot of records are deleted. The second is that the behaviour of
- subsequent updates and writes and deletes will change. The delete
- part can be handled without any particular high lock level by
- transactional engines whereas non-transactional engines need to
- ensure that this change is done with an exclusive lock on the table.
- The second part, the change of partitioning does however require
- an exclusive lock to install the new partitioning as one atomic
- operation. If this is not the case, it is possible for two
- transactions to see the change in a different order than their
- serialisation order. Thus we need an exclusive lock for both
- transactional and non-transactional engines.
-
- For LIST partitions it could be possible to avoid the exclusive lock
- (and for RANGE partitions if they didn't rearrange range definitions
- after a DROP PARTITION) if one ensured that failed accesses to the
- dropped partitions was aborted for sure (thus only possible for
- transactional engines).
-
- 0) Write an entry that removes the shadow frm file if crash occurs
- 1) Write the new frm file as a shadow frm
- 2) Get an exclusive metadata lock on the table (waits for all active
- transactions using this table). This ensures that we
- can release all other locks on the table and since no one can open
- the table, there can be no new threads accessing the table. They
- will be hanging on this exclusive lock.
- 3) Write the ddl log to ensure that the operation is completed
- even in the presence of a MySQL Server crash (the log is executed
- before any other threads are started, so there are no locking issues).
- 4) Close the table that have already been opened but didn't stumble on
- the abort locked previously. This is done as part of the
- alter_close_table call.
- 5) Old place for binary logging
- 6) Install the previously written shadow frm file
- 7) Prepare handlers for drop of partitions
- 8) Drop the partitions
- 9) Remove entries from ddl log
- 10) Reopen table if under lock tables
- 11) Write the bin log
- Unfortunately the writing of the binlog is not synchronised with
- other logging activities. So no matter in which order the binlog
- is written compared to other activities there will always be cases
- where crashes make strange things occur. In this placement it can
- happen that the ALTER TABLE DROP PARTITION gets performed in the
- master but not in the slaves if we have a crash, after writing the
- ddl log but before writing the binlog. A solution to this would
- require writing the statement first in the ddl log and then
- when recovering from the crash read the binlog and insert it into
- the binlog if not written already.
- 12) Complete query
-
- We insert Error injections at all places where it could be interesting
- to test if recovery is properly done.
+ part_info chain contains roll forward actions,
+ cleanup_chain drops shadow frm.
+
+ If cleanup_chain is active part_info chain is not executed.
*/
+
if (write_log_drop_shadow_frm(lpt) ||
ERROR_INJECT("drop_partition_1") ||
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
ERROR_INJECT("drop_partition_2") ||
wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
ERROR_INJECT("drop_partition_3") ||
- write_log_drop_partition(lpt) ||
- (action_completed= TRUE, FALSE) ||
- ERROR_INJECT("drop_partition_4") ||
alter_close_table(lpt) ||
+ ERROR_INJECT("drop_partition_4") ||
+ action_drop.rename_parts() ||
ERROR_INJECT("drop_partition_5") ||
+ write_log_drop_backup_frm(lpt) ||
ERROR_INJECT("drop_partition_6") ||
- (frm_install= TRUE, FALSE) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW) ||
- alter_partition_log_backup(lpt) ||
- (frm_install= FALSE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("drop_partition_7") ||
- mysql_drop_partitions(lpt) ||
+ mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("drop_partition_8") ||
- (write_log_completed(lpt, FALSE), FALSE) ||
- ((!thd->lex->no_write_to_binlog) &&
- (write_bin_log(thd, FALSE,
- thd->query(), thd->query_length()), FALSE)) ||
- ERROR_INJECT("drop_partition_9"))
- {
- handle_alter_part_error(lpt, action_completed, TRUE, frm_install, true);
- goto err;
- }
- if (alter_partition_lock_handling(lpt))
- goto err;
- }
+ alter_partition_log_backup(lpt) ||
+ alter_partition_binlog(lpt))
+ goto fail;
+ } /* DROP */
else if (alter_info->partition_flags & ALTER_PARTITION_CONVERT_OUT)
{
- DDL_LOG_STATE chain_drop_backup;
- bzero(&chain_drop_backup, sizeof(chain_drop_backup));
+ Alter_partition_change action_conv_out(lpt);
if (mysql_write_frm(lpt, WFRM_WRITE_CONVERTED_TO) ||
ERROR_INJECT("convert_partition_1") ||
@@ -7504,43 +6927,25 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
ERROR_INJECT("convert_partition_3") ||
wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
ERROR_INJECT("convert_partition_4") ||
- write_log_convert_partition(lpt) ||
- ERROR_INJECT("convert_partition_5") ||
alter_close_table(lpt) ||
+ ERROR_INJECT("convert_partition_5") ||
+ action_conv_out.convert_out() ||
ERROR_INJECT("convert_partition_6") ||
- alter_partition_convert_out(lpt) ||
+ write_log_drop_backup_frm(lpt) ||
ERROR_INJECT("convert_partition_7") ||
- write_log_drop_frm(lpt, &chain_drop_backup) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_ORIGINAL) ||
+ ERROR_INJECT("convert_partition_8") ||
mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
+ ERROR_INJECT("convert_partition_9") ||
alter_partition_log_backup(lpt) ||
- ERROR_INJECT("convert_partition_8") ||
- ((!thd->lex->no_write_to_binlog) &&
- ((thd->binlog_xid= thd->query_id),
- ddl_log_update_xid(lpt->part_info, thd->binlog_xid),
- write_bin_log(thd, false, thd->query(), thd->query_length()),
- (thd->binlog_xid= 0))) ||
- ERROR_INJECT("convert_partition_9"))
- {
- DDL_LOG_STATE main_state= *lpt->part_info;
- handle_alter_part_error(lpt, true, true, false, false);
- ddl_log_complete(&chain_drop_backup);
- (void) ddl_log_revert(thd, &main_state);
- if (thd->locked_tables_mode)
- thd->locked_tables_list.reopen_tables(thd, false);
- goto err;
- }
- ddl_log_complete(lpt->part_info);
- ERROR_INJECT("convert_partition_10");
- (void) ddl_log_revert(thd, &chain_drop_backup);
- if (alter_partition_lock_handling(lpt) ||
- ERROR_INJECT("convert_partition_11"))
- goto err;
- }
+ alter_partition_binlog(lpt))
+ goto fail;
+ } /* CONVERT OUT */
else if ((alter_info->partition_flags & ALTER_PARTITION_CONVERT_IN))
{
- DDL_LOG_STATE chain_drop_backup;
- bzero(&chain_drop_backup, sizeof(chain_drop_backup));
TABLE *table_from= table_list->next_local->table;
+ TABLE_LIST *tl_from= table_from->pos_in_locked_tables;
+ Alter_partition_change action_conv_in(lpt);
if (wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
wait_while_table_is_used(thd, table_from, HA_EXTRA_PREPARE_FOR_RENAME) ||
@@ -7550,212 +6955,113 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
check_table_data(lpt))
goto err;
+ close_all_tables_for_name(lpt->thd, table_from->s,
+ HA_EXTRA_PREPARE_FOR_RENAME, NULL);
+ if (tl_from)
+ tl_from->table= NULL;
+
if (write_log_drop_shadow_frm(lpt) ||
ERROR_INJECT("convert_partition_3") ||
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
ERROR_INJECT("convert_partition_4") ||
alter_close_table(lpt) ||
ERROR_INJECT("convert_partition_5") ||
- write_log_convert_partition(lpt) ||
+ action_conv_in.convert_in() ||
ERROR_INJECT("convert_partition_6") ||
- alter_partition_convert_in(lpt) ||
+ write_log_drop_backup_frm(lpt) ||
ERROR_INJECT("convert_partition_7") ||
- (frm_install= true, false) ||
- write_log_drop_frm(lpt, &chain_drop_backup) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
- log_partition_alter_to_ddl_log(lpt) ||
- (frm_install= false, false) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("convert_partition_8") ||
- ((!thd->lex->no_write_to_binlog) &&
- ((thd->binlog_xid= thd->query_id),
- ddl_log_update_xid(lpt->part_info, thd->binlog_xid),
- write_bin_log(thd, false, thd->query(), thd->query_length()),
- (thd->binlog_xid= 0))) ||
- ERROR_INJECT("convert_partition_9"))
- {
- DDL_LOG_STATE main_state= *lpt->part_info;
- handle_alter_part_error(lpt, true, true, false, false);
- ddl_log_complete(&chain_drop_backup);
- (void) ddl_log_revert(thd, &main_state);
- if (thd->locked_tables_mode)
- thd->locked_tables_list.reopen_tables(thd, false);
- goto err;
+ mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
+ ERROR_INJECT("convert_partition_9") ||
+ alter_partition_log_backup(lpt) ||
+ alter_partition_binlog(lpt))
+ {
+ if (tl_from)
+ thd->locked_tables_list.add_back_last_deleted_lock(tl_from);
+ goto fail;
}
- ddl_log_complete(lpt->part_info);
- ERROR_INJECT("convert_partition_10");
- (void) ddl_log_revert(thd, &chain_drop_backup);
- if (alter_partition_lock_handling(lpt) ||
- ERROR_INJECT("convert_partition_11"))
- goto err;
- }
+ } /* CONVERT IN */
else if ((alter_info->partition_flags & ALTER_PARTITION_ADD) &&
(part_info->part_type == RANGE_PARTITION ||
part_info->part_type == LIST_PARTITION))
{
DBUG_ASSERT(!(alter_info->partition_flags & ALTER_PARTITION_CONVERT_IN));
- /*
- ADD RANGE/LIST PARTITIONS
- In this case there are no tuples removed and no tuples are added.
- Thus the operation is merely adding a new partition. Thus it is
- necessary to perform the change as an atomic operation. Otherwise
- someone reading without seeing the new partition could potentially
- miss updates made by a transaction serialised before it that are
- inserted into the new partition.
-
- 0) Write an entry that removes the shadow frm file if crash occurs
- 1) Write the new frm file as a shadow frm file
- 2) Get an exclusive metadata lock on the table (waits for all active
- transactions using this table). This ensures that we
- can release all other locks on the table and since no one can open
- the table, there can be no new threads accessing the table. They
- will be hanging on this exclusive lock.
- 3) Write an entry to remove the new parttions if crash occurs
- 4) Add the new partitions.
- 5) Close all instances of the table and remove them from the table cache.
- 6) Old place for write binlog
- 7) Now the change is completed except for the installation of the
- new frm file. We thus write an action in the log to change to
- the shadow frm file
- 8) Install the new frm file of the table where the partitions are
- added to the table.
- 9) Remove entries from ddl log
- 10)Reopen tables if under lock tables
- 11)Write to binlog
- 12)Complete query
- */
+ Alter_partition_add action_add(lpt);
+
if (write_log_drop_shadow_frm(lpt) ||
ERROR_INJECT("add_partition_1") ||
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
ERROR_INJECT("add_partition_2") ||
wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
ERROR_INJECT("add_partition_3") ||
- write_log_add_change_partition(lpt) ||
+ action_add.add_parts() ||
ERROR_INJECT("add_partition_4") ||
- mysql_change_partitions(lpt) ||
- ERROR_INJECT("add_partition_5") ||
alter_close_table(lpt) ||
+ ERROR_INJECT("add_partition_5") ||
+ write_log_drop_backup_frm(lpt) ||
ERROR_INJECT("add_partition_6") ||
+ mysql_write_frm(lpt, WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("add_partition_7") ||
- write_log_rename_frm(lpt) ||
- (action_completed= TRUE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("add_partition_8") ||
- (frm_install= TRUE, FALSE) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW) ||
alter_partition_log_backup(lpt) ||
- (frm_install= FALSE, FALSE) ||
- ERROR_INJECT("add_partition_9") ||
- (write_log_completed(lpt, FALSE), FALSE) ||
- ((!thd->lex->no_write_to_binlog) &&
- (write_bin_log(thd, FALSE,
- thd->query(), thd->query_length()), FALSE)) ||
- ERROR_INJECT("add_partition_10"))
- {
- handle_alter_part_error(lpt, action_completed, FALSE, frm_install, true);
- goto err;
- }
- if (alter_partition_lock_handling(lpt))
- goto err;
- }
+ alter_partition_binlog(lpt))
+ goto fail;
+ } /* ADD */
else
{
- /*
- ADD HASH PARTITION/
- COALESCE PARTITION/
- REBUILD PARTITION/
- REORGANIZE PARTITION
-
- In this case all records are still around after the change although
- possibly organised into new partitions, thus by ensuring that all
- updates go to both the old and the new partitioning scheme we can
- actually perform this operation lock-free. The only exception to
- this is when REORGANIZE PARTITION adds/drops ranges. In this case
- there needs to be an exclusive lock during the time when the range
- changes occur.
- This is only possible if the handler can ensure double-write for a
- period. The double write will ensure that it doesn't matter where the
- data is read from since both places are updated for writes. If such
- double writing is not performed then it is necessary to perform the
- change with the usual exclusive lock. With double writes it is even
- possible to perform writes in parallel with the reorganisation of
- partitions.
-
- Without double write procedure we get the following procedure.
- The only difference with using double write is that we can downgrade
- the lock to TL_WRITE_ALLOW_WRITE. Double write in this case only
- double writes from old to new. If we had double writing in both
- directions we could perform the change completely without exclusive
- lock for HASH partitions.
- Handlers that perform double writing during the copy phase can actually
- use a lower lock level. This can be handled inside store_lock in the
- respective handler.
-
- 0) Write an entry that removes the shadow frm file if crash occurs.
- 1) Write the shadow frm file of new partitioning.
- 2) Log such that temporary partitions added in change phase are
- removed in a crash situation.
- 3) Add the new partitions.
- Copy from the reorganised partitions to the new partitions.
- 4) Get an exclusive metadata lock on the table (waits for all active
- transactions using this table). This ensures that we
- can release all other locks on the table and since no one can open
- the table, there can be no new threads accessing the table. They
- will be hanging on this exclusive lock.
- 5) Close the table.
- 6) Log that operation is completed and log all complete actions
- needed to complete operation from here.
- 7) Old place for write bin log.
- 8) Prepare handlers for rename and delete of partitions.
- 9) Rename and drop the reorged partitions such that they are no
- longer used and rename those added to their real new names.
- 10) Install the shadow frm file.
- 11) Reopen the table if under lock tables.
- 12) Write to binlog
- 13) Complete query.
- */
+ /* ADD HASH / COALESCE / REBUILD / REORGANIZE */
+ Alter_partition_change action_change(lpt);
+
if (write_log_drop_shadow_frm(lpt) ||
ERROR_INJECT("change_partition_1") ||
mysql_write_frm(lpt, WFRM_WRITE_SHADOW) ||
ERROR_INJECT("change_partition_2") ||
- write_log_add_change_partition(lpt) ||
+ wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
ERROR_INJECT("change_partition_3") ||
- mysql_change_partitions(lpt) ||
+ action_change.add_parts_and_copy_data(thd) ||
ERROR_INJECT("change_partition_4") ||
- wait_while_table_is_used(thd, table, HA_EXTRA_NOT_USED) ||
- ERROR_INJECT("change_partition_5") ||
alter_close_table(lpt) ||
+ ERROR_INJECT("change_partition_5") ||
+ action_change.rename_parts() ||
ERROR_INJECT("change_partition_6") ||
- write_log_final_change_partition(lpt) ||
- (action_completed= TRUE, FALSE) ||
+ write_log_drop_backup_frm(lpt) ||
ERROR_INJECT("change_partition_7") ||
+ mysql_write_frm(lpt, WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("change_partition_8") ||
- ((frm_install= TRUE), FALSE) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW) ||
- alter_partition_log_backup(lpt) ||
- (frm_install= FALSE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
ERROR_INJECT("change_partition_9") ||
- mysql_drop_partitions(lpt) ||
- ERROR_INJECT("change_partition_10") ||
- mysql_rename_partitions(lpt) ||
- ERROR_INJECT("change_partition_11") ||
- (write_log_completed(lpt, FALSE), FALSE) ||
- ((!thd->lex->no_write_to_binlog) &&
- (write_bin_log(thd, FALSE,
- thd->query(), thd->query_length()), FALSE)) ||
- ERROR_INJECT("change_partition_12"))
- {
- handle_alter_part_error(lpt, action_completed, FALSE, frm_install, true);
- goto err;
- }
- if (alter_partition_lock_handling(lpt))
- goto err;
- }
+ alter_partition_log_backup(lpt) ||
+ alter_partition_binlog(lpt))
+ goto fail;
+ } /* ADD HASH / COALESCE / REBUILD / REORGANIZE */
+
+ CRASH_INJECT("done_partition_1");
+ ddl_log_complete(rollback_chain);
+ CRASH_INJECT("done_partition_2");
+ alter_partition_lock_handling(lpt);
+ (void) ddl_log_revert(thd, cleanup_chain, true);
+
+ if (thd->locked_tables_mode)
+ (void) thd->locked_tables_list.reopen_tables(thd, false);
+
thd->variables.option_bits= save_option_bits;
downgrade_mdl_if_lock_tables_mode(thd, mdl_ticket, MDL_SHARED_NO_READ_WRITE);
- /*
- A final step is to write the query to the binlog and send ok to the
- user
- */
+
DBUG_RETURN(fast_end_partition(thd, lpt->copied, lpt->deleted, table_list));
+
+fail:
+ CRASH_INJECT("fail_partition_1");
+ ddl_log_complete(cleanup_chain);
+ CRASH_INJECT("fail_partition_2");
+ /* We may fail to drop partitions due to existing locking, so must unlock first */
+ alter_partition_lock_handling(lpt);
+ (void) ddl_log_revert(thd, rollback_chain, true);
+
+ if (thd->locked_tables_mode)
+ (void) thd->locked_tables_list.reopen_tables(thd, false);
+
err:
thd->variables.option_bits= save_option_bits;
downgrade_mdl_if_lock_tables_mode(thd, mdl_ticket, MDL_SHARED_NO_READ_WRITE);
@@ -8975,6 +8281,8 @@ static const char *longest_str(const char *s1, const char *s2,
DESCRIPTION
This method is used to calculate the partition name, service routine to
the del_ren_cre_table method.
+
+ TODO: MDEV-28844 Merge create_partition_name() and create_subpartition_name()
*/
int create_partition_name(char *out, size_t outlen, const char *in1,
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index a90eaae0bae..711d7d1c196 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -23,6 +23,7 @@
#include "sql_list.h" /* List */
#include "table.h" /* TABLE_LIST */
+#include "ddl_log.h"
class Alter_info;
class Alter_table_ctx;
@@ -46,6 +47,7 @@ typedef struct st_key_range key_range;
#define NORMAL_PART_NAME 0
#define TEMP_PART_NAME 1
#define RENAMED_PART_NAME 2
+#define SKIP_PART_NAME 255
typedef struct st_lock_param_type
{
@@ -65,8 +67,16 @@ typedef struct st_lock_param_type
uint key_count;
uint db_options;
size_t pack_frm_len;
+ DDL_LOG_MEMORY_ENTRY *drop_shadow_frm;
// TODO: remove duplicate data: part_info can be accessed via table->part_info
partition_info *part_info;
+ DDL_LOG_STATE rollback_chain;
+ DDL_LOG_STATE cleanup_chain;
+
+ st_lock_param_type()
+ {
+ bzero(this, sizeof(*this));
+ }
} ALTER_PARTITION_PARAM_TYPE;
typedef struct {
@@ -285,7 +295,6 @@ bool compare_table_with_partition(THD *thd, TABLE *table,
uint part_id);
bool partition_key_modified(TABLE *table, const MY_BITMAP *fields);
bool write_log_replace_frm(ALTER_PARTITION_PARAM_TYPE *lpt,
- uint next_entry,
const char *from_path,
const char *to_path);
diff --git a/sql/sql_partition_admin.cc b/sql/sql_partition_admin.cc
index 134a01e4e0e..09dd0c5689b 100644
--- a/sql/sql_partition_admin.cc
+++ b/sql/sql_partition_admin.cc
@@ -396,7 +396,7 @@ static bool exchange_name_with_ddl_log(THD *thd,
*/
/* call rename table from table to tmp-name */
DBUG_EXECUTE_IF("exchange_partition_fail_3",
- my_error(ER_ERROR_ON_RENAME, MYF(0), name, tmp_name, 0);
+ my_error(ER_ERROR_ON_RENAME, MYF(0), name, "#TMP", 0);
error_set= TRUE;
goto err_rename;);
DBUG_EXECUTE_IF("exchange_partition_abort_3", DBUG_SUICIDE(););
@@ -430,7 +430,7 @@ static bool exchange_name_with_ddl_log(THD *thd,
/* call rename table from tmp-nam to partition */
DBUG_EXECUTE_IF("exchange_partition_fail_7",
- my_error(ER_ERROR_ON_RENAME, MYF(0), tmp_name, from_name, 0);
+ my_error(ER_ERROR_ON_RENAME, MYF(0), "#TMP", from_name, 0);
error_set= TRUE;
goto err_rename;);
DBUG_EXECUTE_IF("exchange_partition_abort_7", DBUG_SUICIDE(););
@@ -719,13 +719,6 @@ bool Sql_cmd_alter_table_exchange_partition::
temp_file_name, table_hton)))
goto err;
- /*
- Reopen tables under LOCK TABLES. Ignore the return value for now. It's
- better to keep master/slave in consistent state. Alternative would be to
- try to revert the exchange operation and issue error.
- */
- (void) thd->locked_tables_list.reopen_tables(thd, false);
-
if (force_if_exists)
thd->variables.option_bits|= OPTION_IF_EXISTS;
@@ -753,6 +746,7 @@ bool Sql_cmd_alter_table_exchange_partition::
err:
if (thd->locked_tables_mode)
{
+ (void) thd->locked_tables_list.reopen_tables(thd, false);
if (swap_table_mdl_ticket)
swap_table_mdl_ticket->downgrade_lock(MDL_SHARED_NO_READ_WRITE);
if (part_table_mdl_ticket)
@@ -999,53 +993,4 @@ bool Sql_cmd_alter_table_truncate_partition::execute(THD *thd)
DBUG_RETURN(error);
}
-
-/**
- Move a table specified in the CONVERT TABLE <table_name> TO PARTITION ...
- to the new partition.
-
- @param lpt A structure containing parameters regarding to the statement
- ALTER TABLE ... TO PARTITION ...
- @param part_file_name a file name of the partition being added
-
- @return false on success, true on error
-*/
-
-bool alter_partition_convert_in(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- char part_file_name[2*FN_REFLEN+1];
- THD *thd= lpt->thd;
- const char *path= lpt->table_list->table->s->path.str;
- TABLE_LIST *table_from= lpt->table_list->next_local;
-
- const char *partition_name=
- thd->lex->part_info->curr_part_elem->partition_name;
-
- if (create_partition_name(part_file_name, sizeof(part_file_name), path,
- partition_name, NORMAL_PART_NAME, false))
- return true;
-
- char from_file_name[FN_REFLEN+1];
-
- build_table_filename(from_file_name, sizeof(from_file_name),
- table_from->db.str, table_from->table_name.str, "", 0);
-
- handler *file= get_new_handler(nullptr, thd->mem_root,
- table_from->table->file->ht);
- if (unlikely(!file))
- return true;
-
- close_all_tables_for_name(thd, table_from->table->s,
- HA_EXTRA_PREPARE_FOR_RENAME, nullptr);
-
- bool res= file->ha_rename_table(from_file_name, part_file_name);
-
- if (res)
- my_error(ER_ERROR_ON_RENAME, MYF(0), from_file_name,
- part_file_name, my_errno);
-
- delete file;
- return res;
-}
-
#endif /* WITH_PARTITION_STORAGE_ENGINE */
diff --git a/sql/sql_rename.cc b/sql/sql_rename.cc
index 658afd57f9b..8acdade6f9a 100644
--- a/sql/sql_rename.cc
+++ b/sql/sql_rename.cc
@@ -199,7 +199,7 @@ bool mysql_rename_tables(THD *thd, TABLE_LIST *table_list, bool silent,
else
{
/* Revert the renames of normal tables with the help of the ddl log */
- error|= ddl_log_revert(thd, &ddl_log_state);
+ error|= ddl_log_revert(thd, &ddl_log_state, false);
}
err:
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index b72f64bc691..f800564c538 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -730,6 +730,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
uint syntax_len;
partition_info *part_info= lpt->part_info;
#endif
+ DDL_LOG_STATE *rollback_chain= &lpt->rollback_chain;
DBUG_ENTER("mysql_write_frm");
/*
@@ -808,7 +809,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
create_info->db_type= work_part_info->default_engine_type;
/* NOTE: partitioned temporary tables are not supported. */
DBUG_ASSERT(!create_info->tmp_table());
- if (ddl_log_create_table(part_info, create_info->db_type, &new_path,
+ if (ddl_log_create_table(rollback_chain, create_info->db_type, &new_path,
&alter_ctx->new_db, &alter_ctx->new_name, true) ||
ERROR_INJECT("create_before_create_frm"))
DBUG_RETURN(TRUE);
@@ -828,15 +829,20 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
if (unlikely(!frm.str))
DBUG_RETURN(TRUE);
+ if (ERROR_INJECT("alter_partition_after_create_frm"))
+ {
+ my_free((void *) frm.str);
+ DBUG_RETURN(true);
+ }
+
thd->work_part_info= work_part_info;
create_info->db_type= db_type;
- ERROR_INJECT("alter_partition_after_create_frm");
-
error= writefile(frm_name, alter_ctx->new_db.str, alter_ctx->new_name.str,
create_info->tmp_table(), frm.str, frm.length);
my_free((void *) frm.str);
- if (unlikely(error) || ERROR_INJECT("alter_partition_after_write_frm"))
+ if (unlikely(error) ||
+ ERROR_INJECT("alter_partition_after_write_frm"))
{
mysql_file_delete(key_file_frm, frm_name, MYF(0));
DBUG_RETURN(TRUE);
@@ -844,7 +850,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
DBUG_RETURN(false);
}
- if (flags & WFRM_BACKUP_ORIGINAL)
+ if (flags == WFRM_BACKUP_ORIGINAL)
{
build_table_filename(path, sizeof(path) - 1, lpt->db.str,
lpt->table_name.str, "", 0);
@@ -853,19 +859,18 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
build_table_shadow_filename(bak_path, sizeof(bak_path) - 1, lpt, true);
strxmov(bak_frm_name, bak_path, reg_ext, NullS);
- DDL_LOG_MEMORY_ENTRY *main_entry= part_info->main_entry;
+ DDL_LOG_MEMORY_ENTRY *main_entry= rollback_chain->main_entry;
mysql_mutex_lock(&LOCK_gdl);
- if (write_log_replace_frm(lpt, part_info->list->entry_pos,
- (const char*) bak_path,
- (const char*) path) ||
- ddl_log_write_execute_entry(part_info->list->entry_pos, 0,
- &part_info->execute_entry))
+ if (ddl_log_rename_frm(&lpt->rollback_chain,
+ (const char*) bak_path, (const char*) path) ||
+ ddl_log_write_execute_entry(rollback_chain->list->entry_pos, 0,
+ &rollback_chain->execute_entry))
{
mysql_mutex_unlock(&LOCK_gdl);
DBUG_RETURN(TRUE);
}
mysql_mutex_unlock(&LOCK_gdl);
- part_info->main_entry= main_entry;
+ rollback_chain->main_entry= main_entry;
if (mysql_file_rename(key_file_frm, frm_name, bak_frm_name, MYF(MY_WME)))
DBUG_RETURN(TRUE);
if (lpt->table->file->ha_create_partitioning_metadata(bak_path, path,
@@ -877,9 +882,6 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
#endif /* !WITH_PARTITION_STORAGE_ENGINE */
if (flags & WFRM_INSTALL_SHADOW)
{
-#ifdef WITH_PARTITION_STORAGE_ENGINE
- partition_info *part_info= lpt->part_info;
-#endif
/*
Build frm file name
*/
@@ -901,7 +903,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
#ifdef WITH_PARTITION_STORAGE_ENGINE
|| lpt->table->file->ha_create_partitioning_metadata(path, shadow_path,
CHF_DELETE_FLAG) ||
- ddl_log_increment_phase(part_info->main_entry->entry_pos) ||
+ ddl_log_increment_phase(rollback_chain->main_entry->entry_pos) ||
(ddl_log_sync(), FALSE)
#endif
))
@@ -953,8 +955,8 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
err:
#ifdef WITH_PARTITION_STORAGE_ENGINE
- ddl_log_increment_phase(part_info->main_entry->entry_pos);
- part_info->main_entry= NULL;
+ ddl_log_increment_phase(lpt->drop_shadow_frm->entry_pos);
+ lpt->drop_shadow_frm= NULL;
(void) ddl_log_sync();
#endif
;
@@ -4465,7 +4467,7 @@ void HA_CREATE_INFO::finalize_ddl(THD *thd, bool roll_back)
debug_crash_here("ddl_log_create_fk_fail");
ddl_log_complete(ddl_log_state_rm);
debug_crash_here("ddl_log_create_fk_fail2");
- (void) ddl_log_revert(thd, ddl_log_state_create);
+ (void) ddl_log_revert(thd, ddl_log_state_create, true);
debug_crash_here("ddl_log_create_fk_fail3");
}
else
@@ -4479,7 +4481,7 @@ void HA_CREATE_INFO::finalize_ddl(THD *thd, bool roll_back)
ddl_log_complete(ddl_log_state_create);
debug_crash_here("ddl_log_create_log_complete2");
if (is_atomic_replace())
- (void) ddl_log_revert(thd, ddl_log_state_rm);
+ (void) ddl_log_revert(thd, ddl_log_state_rm, true);
else
ddl_log_complete(ddl_log_state_rm);
debug_crash_here("ddl_log_create_log_complete3");
@@ -11389,7 +11391,7 @@ err_with_mdl:
Prepare the transaction for the alter table's copy phase.
*/
-bool mysql_trans_prepare_alter_copy_data(THD *thd)
+int mysql_trans_prepare_alter_copy_data(THD *thd)
{
DBUG_ENTER("mysql_trans_prepare_alter_copy_data");
/*
@@ -11406,9 +11408,9 @@ bool mysql_trans_prepare_alter_copy_data(THD *thd)
Commit the copy phase of the alter table.
*/
-bool mysql_trans_commit_alter_copy_data(THD *thd)
+int mysql_trans_commit_alter_copy_data(THD *thd, bool rollback)
{
- bool error= FALSE;
+ int error= 0;
uint save_unsafe_rollback_flags;
DBUG_ENTER("mysql_trans_commit_alter_copy_data");
@@ -11417,19 +11419,29 @@ bool mysql_trans_commit_alter_copy_data(THD *thd)
DEBUG_SYNC(thd, "alter_table_copy_trans_commit");
- if (ha_enable_transaction(thd, TRUE))
- DBUG_RETURN(TRUE);
+ if ((error= ha_enable_transaction(thd, TRUE)))
+ DBUG_RETURN(error);
- /*
- Ensure that the new table is saved properly to disk before installing
- the new .frm.
- And that InnoDB's internal latches are released, to avoid deadlock
- when waiting on other instances of the table before rename (Bug#54747).
- */
- if (trans_commit_stmt(thd))
- error= TRUE;
- if (trans_commit_implicit(thd))
- error= TRUE;
+ if (!rollback)
+ {
+ /*
+ Ensure that the new table is saved properly to disk before installing
+ the new .frm.
+ And that InnoDB's internal latches are released, to avoid deadlock
+ when waiting on other instances of the table before rename (Bug#54747).
+ */
+ if (trans_commit_stmt(thd))
+ error= HA_ERR_COMMIT_ERROR;
+ if (trans_commit_implicit(thd))
+ error= HA_ERR_COMMIT_ERROR;
+ }
+ else
+ {
+ if (trans_rollback_stmt(thd))
+ error= HA_ERR_COMMIT_ERROR;
+ if (trans_rollback_implicit(thd))
+ error= HA_ERR_COMMIT_ERROR;
+ }
thd->transaction->stmt.m_unsafe_rollback_flags= save_unsafe_rollback_flags;
DBUG_RETURN(error);
@@ -11784,7 +11796,7 @@ copy_data_between_tables(THD *thd, TABLE *from, TABLE *to,
if (backup_reset_alter_copy_lock(thd))
error= 1;
- if (unlikely(mysql_trans_commit_alter_copy_data(thd)))
+ if (unlikely(mysql_trans_commit_alter_copy_data(thd, false)))
error= 1;
err:
diff --git a/sql/sql_table.h b/sql/sql_table.h
index 56c69b955c3..0e721c99b92 100644
--- a/sql/sql_table.h
+++ b/sql/sql_table.h
@@ -18,11 +18,35 @@
#define SQL_TABLE_INCLUDED
#include <my_sys.h> // pthread_mutex_t
+#include "mysqld_error.h"
#include "m_string.h" // LEX_CUSTRING
-#define ERROR_INJECT(code) \
- ((DBUG_IF("crash_" code) && (DBUG_SUICIDE(), 0)) || \
- (DBUG_IF("fail_" code) && (my_error(ER_UNKNOWN_ERROR, MYF(0)), 1)))
+#ifndef DBUG_OFF
+void sql_print_error(const char *format, ...);
+
+inline bool _error_inject(const char *crash_kw, const char *fail_kw)
+{
+ if (DBUG_IF(crash_kw))
+ {
+ sql_print_error("Crashing at %s", crash_kw);
+ DBUG_SUICIDE();
+ return false;
+ }
+ if (DBUG_IF(fail_kw))
+ {
+ sql_print_error("Failing at %s", fail_kw);
+ my_error(ER_UNKNOWN_ERROR, MYF(0));
+ return true;
+ }
+ DBUG_PRINT("ddl_log", ("Passing %s", fail_kw));
+ return false;
+}
+#define ERROR_INJECT(code) (_error_inject("crash_" code, "fail_" code))
+#define CRASH_INJECT(code) (_error_inject("crash_" code, "crash_" code))
+#else
+#define ERROR_INJECT(code) false
+#define CRASH_INJECT(code) do { } while(0)
+#endif
class Alter_info;
class Alter_table_ctx;
@@ -126,8 +150,8 @@ bool mysql_prepare_alter_table(THD *thd, TABLE *table,
HA_CREATE_INFO *create_info,
Alter_info *alter_info,
Alter_table_ctx *alter_ctx);
-bool mysql_trans_prepare_alter_copy_data(THD *thd);
-bool mysql_trans_commit_alter_copy_data(THD *thd);
+int mysql_trans_prepare_alter_copy_data(THD *thd);
+int mysql_trans_commit_alter_copy_data(THD *thd, bool rollback);
bool mysql_alter_table(THD *thd, const LEX_CSTRING *new_db,
const LEX_CSTRING *new_name,
HA_CREATE_INFO *create_info,
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc
index 6fe0d5384a9..1b0c9f1b8c7 100644
--- a/sql/sql_trigger.cc
+++ b/sql/sql_trigger.cc
@@ -704,7 +704,7 @@ end:
ddl_log_complete(&ddl_log_state);
debug_crash_here("ddl_log_drop_before_delete_tmp");
/* delete any created log files */
- result|= ddl_log_revert(thd, &ddl_log_state_tmp_file);
+ result|= ddl_log_revert(thd, &ddl_log_state_tmp_file, true);
if (mdl_request_for_trn.ticket)
thd->mdl_context.release_lock(mdl_request_for_trn.ticket);
@@ -1118,7 +1118,7 @@ err:
}
/* Recover the old .TRN and .TRG files & delete backup files */
- ddl_log_revert(thd, ddl_log_state);
+ ddl_log_revert(thd, ddl_log_state, true);
/* All backup files are now deleted */
ddl_log_complete(ddl_log_state_tmp_file);
DBUG_RETURN(true);