summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2022-12-13 09:03:10 +0300
committerAleksey Midenkov <midenok@gmail.com>2023-04-13 14:06:12 +0300
commitd26b937ea19dcf45b74a7b0729a99e232b5bdcce (patch)
tree9eccffe99b5691c3569e2420b100cee2cfbc641e
parentfcbb90497c26a3f581c7e3e0d2d0cf051d79387f (diff)
downloadmariadb-git-bb-10.11-midenok-MDEV-27180.tar.gz
MDEV-27180 Fully atomic partitioning DDL operationsbb-10.11-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 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 (see previous commit "ha_partition refactoring"). 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. HA_PARTITION_ONE_PHASE handling was removed from fast_alter_partition() as native partitioning is not supported.
-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.inc22
-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.inc24
-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.inc128
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result6869
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash.result13523
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result9378
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail.result18230
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result8516
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash.result15556
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result10911
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail.result20104
-rw-r--r--mysql-test/suite/parts/r/partition_debug.result4037
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result1081
-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.cc215
-rw-r--r--sql/ddl_log.h25
-rw-r--r--sql/ha_partition.cc576
-rw-r--r--sql/ha_partition.h24
-rw-r--r--sql/handler.cc62
-rw-r--r--sql/handler.h21
-rw-r--r--sql/lex_string.h4
-rw-r--r--sql/mysqld.cc4
-rw-r--r--sql/mysqld.h2
-rw-r--r--sql/partition_element.h31
-rw-r--r--sql/partition_info.h4
-rw-r--r--sql/sql_partition.cc1993
-rw-r--r--sql/sql_partition.h29
-rw-r--r--sql/sql_partition_admin.cc66
-rw-r--r--sql/sql_rename.cc9
-rw-r--r--sql/sql_table.cc129
-rw-r--r--sql/sql_table.h48
-rw-r--r--sql/sql_trigger.cc4
-rw-r--r--sql/table.cc2
57 files changed, 104890 insertions, 7739 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 c4af43ad1bd..f55f6341064 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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 COLLATE=latin1_swedish_ci 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..20bd552cafc
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_add.inc
@@ -0,0 +1,22 @@
+# 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';
+
+# EOF is not the crash point
+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..be77a9d916c
--- /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', 'done_partition_3';
+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..ce2e5528fc6
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_convout.inc
@@ -0,0 +1,24 @@
+# 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',
+ 'convert_partition_10';
+
+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..e519c4d337e 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 $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+ RESET MASTER;
+}
+let $keep_include_silent= 1;
+
+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..e6098af92e5 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 $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+}
+let $keep_include_silent= 1;
+
+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,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_TABLE_NOT_LOCKED,ER_NO_SUCH_TABLE
+ --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..ea3d5974d5e 100644
--- a/mysql-test/suite/parts/inc/partition_mgm_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_mgm_crash.inc
@@ -2,51 +2,145 @@
# 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
--echo # Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
--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..95eed7d997c
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result
@@ -0,0 +1,6869 @@
+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("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 18 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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#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_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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 16: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 17 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+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
+# d,crash_done_partition_3: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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#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
+# d,crash_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 318ec385700..8b5808a4138 100644
--- a/mysql-test/suite/parts/r/debug_innodb_crash.result
+++ b/mysql-test/suite/parts/r/debug_innodb_crash.result
@@ -8,21 +8,36 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop 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;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 18 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;
@@ -33,7 +48,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +62,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));
-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.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_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;
@@ -67,7 +87,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +101,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 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -101,7 +137,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +151,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;
@@ -137,7 +178,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +192,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 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;
@@ -171,7 +228,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +242,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;
@@ -207,7 +269,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +283,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 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;
@@ -241,7 +319,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +333,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;
@@ -277,7 +360,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +374,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 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;
@@ -311,7 +410,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +424,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;
@@ -348,7 +452,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +466,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 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;
@@ -382,7 +502,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +516,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;
@@ -419,7 +544,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +558,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 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;
@@ -453,7 +594,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +608,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;
@@ -490,7 +636,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +650,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 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;
@@ -524,7 +686,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +700,582 @@ 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
+# 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+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_3: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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_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
-# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
@@ -563,7 +1287,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 +1300,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_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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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
SHOW CREATE TABLE t1;
@@ -597,7 +1340,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1354,25 @@ 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_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;
@@ -634,7 +1384,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
@@ -645,19 +1397,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_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: 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;
@@ -668,7 +1437,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1451,3058 @@ 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
+# 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 17 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_3: 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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
+# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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_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;
@@ -705,7 +4514,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 +4527,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 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;
@@ -741,7 +4563,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4576,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;
@@ -774,7 +4609,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4623,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 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;
@@ -808,7 +4659,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4672,611 @@ 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
+# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+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
+# d,crash_done_partition_3: 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
-# State after crash recovery
+# 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;
@@ -843,7 +5287,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 (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
@@ -854,19 +5301,38 @@ 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 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,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_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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
SHOW CREATE TABLE t1;
@@ -877,7 +5343,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5356,132 @@ 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_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 COLLATE=latin1_swedish_ci
+ 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
-# 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;
@@ -912,7 +5492,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5506,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 27: 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;
@@ -946,7 +5542,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5555,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_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
-# State after crash recovery
+# 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;
@@ -979,26 +5587,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 28: 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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_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;
@@ -1009,7 +5638,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5651,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_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
-# State after crash recovery
+# 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;
@@ -1042,26 +5683,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 29: 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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_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;
@@ -1072,7 +5734,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5747,119 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +5869,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +5920,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5933,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 +5959,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +6010,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6023,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 +6049,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +6100,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6113,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 +6139,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +6190,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6203,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 +6231,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6245,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 +6281,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6294,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 +6323,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6337,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 +6373,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6386,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 +6415,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6429,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 +6465,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6478,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 +6507,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6521,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 +6557,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6570,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 +6599,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6613,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 +6649,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6662,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 +6691,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6705,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 +6741,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6754,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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +6967,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +6981,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 +7017,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7030,945 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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#.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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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
+# d,crash_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_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
-# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
@@ -1864,8 +7979,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
@@ -1876,19 +7992,35 @@ 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 REBUILD PARTITION p0, p10
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 25: 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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
SHOW CREATE TABLE t1;
@@ -1899,7 +8031,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8044,119 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +8167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8181,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 27: 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 +8217,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8230,3947 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 21 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_convert_partition_10
+set @@debug_dbug= "+d,crash_convert_partition_10";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_10: AFTER crash
+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_10: 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 COLLATE=latin1_swedish_ci
+ 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 14: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 16: crash_done_partition_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+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_3: 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 18: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 19: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 20: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 19 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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-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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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
+#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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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_3: AFTER crash
+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
+# d,crash_done_partition_3: 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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
+11 Original from partition p1
+12 Original from partition p1
+13 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,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;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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
+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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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
+11 Original from partition p1
+12 Original from partition p1
+13 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,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;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: 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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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;
@@ -2010,8 +12181,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +12195,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 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 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` (
@@ -2045,7 +12245,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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,24 +12258,39 @@ 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 COLLATE=latin1_swedish_ci
+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
-# State after crash recovery
+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
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2082,8 +12299,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
@@ -2094,21 +12312,50 @@ a b
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 COLLATE=latin1_swedish_ci
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
+DROP TABLE IF EXISTS t2;
+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 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_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` (
@@ -2117,7 +12364,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +12377,39 @@ 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 COLLATE=latin1_swedish_ci
+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
-# State after crash recovery
+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` (
@@ -2154,8 +12418,2495 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 COLLATE=latin1_swedish_ci
+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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_3: 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2167,4 +14918,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..4a023a20afb
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result
@@ -0,0 +1,9378 @@
+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("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 13 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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
+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))
+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 b57925eb073..7aa814159a3 100644
--- a/mysql-test/suite/parts/r/debug_innodb_fail.result
+++ b/mysql-test/suite/parts/r/debug_innodb_fail.result
@@ -8,21 +8,36 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop 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;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 14 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 +48,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +62,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 +83,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +97,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 +130,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +145,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 +166,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +181,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 +217,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +231,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 +252,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +266,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 +299,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +314,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 +335,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +350,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 +386,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +400,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 +421,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +435,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 +468,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +483,359 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 +846,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -383,18 +861,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 +897,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +911,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 +932,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +946,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 +979,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +994,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 +1015,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1030,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 +1066,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1080,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 +1101,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1115,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 +1148,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1163,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 +1184,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1199,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 +1235,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1249,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 +1270,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1284,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 +1317,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1332,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 +1353,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1368,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 +1404,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1418,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 +1439,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1453,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 +1486,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1501,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 +1522,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1537,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 +1573,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1587,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 +1609,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 +1622,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 +1655,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1670,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 +1692,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 +1706,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 +1742,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1756,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 +1778,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 +1790,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 +1825,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1840,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 +1862,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 +1876,115 @@ 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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from 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 (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;
@@ -1157,7 +1995,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -1168,14 +2008,104 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(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 (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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
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;
@@ -1187,7 +2117,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
@@ -1198,17 +2130,33 @@ 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from 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_done_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;
@@ -1219,7 +2167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2182,18 @@ 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_done_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#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1250,7 +2205,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
@@ -1261,22 +2218,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
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 13 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 +2260,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2273,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 +2294,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2308,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 +2341,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2355,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 +2376,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2391,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 +2427,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2440,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 +2461,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2475,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 +2508,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2522,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 +2543,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2558,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 +2594,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2607,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 +2628,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2642,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 +2675,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2689,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 +2710,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2725,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 +2761,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2774,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 +2794,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +2842,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2856,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 +2876,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +2928,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2941,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 +2961,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3009,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3023,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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 +3212,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3264,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3277,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 +3297,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3345,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3359,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 +3379,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3431,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3444,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 +3464,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3512,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3526,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 +3546,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3598,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3611,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 +3631,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3679,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3693,185 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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;
@@ -2172,27 +3881,130 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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_9";
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from 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_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;
@@ -2203,7 +4015,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4028,99 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure
+# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
db.opt
t1#P#p0.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2228,24 +4130,40 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 `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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from 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_done_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;
@@ -2256,7 +4174,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4188,15 @@ 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_done_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2282,30 +4206,45 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 `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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
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 24 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2316,7 +4255,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4268,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2345,7 +4292,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4306,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 +4339,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4353,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2407,7 +4377,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4392,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 +4428,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4441,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2471,7 +4465,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4479,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 +4512,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4526,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2533,7 +4550,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4565,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 +4601,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4614,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2597,7 +4638,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4652,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 +4685,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4699,545 @@ 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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;
@@ -2659,7 +5248,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5263,382 @@ 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 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 +5649,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5662,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2723,7 +5686,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5700,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 +5733,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5747,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2785,7 +5771,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5786,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 +5822,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5835,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2849,7 +5859,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5873,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 +5906,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5920,714 @@ 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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;
@@ -2911,7 +6638,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6653,378 @@ 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 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 +7035,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7048,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2975,7 +7072,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7086,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 +7119,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7133,20 @@ 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.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3037,7 +7157,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7172,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 +7208,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7221,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3102,8 +7245,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7259,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 +7292,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7306,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3166,8 +7330,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7345,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 +7381,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7394,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3232,8 +7418,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7432,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 +7465,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7479,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3296,8 +7503,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7518,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 +7554,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7567,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3362,8 +7591,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7605,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 +7638,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7652,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3426,8 +7676,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7691,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 +7727,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7740,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3492,8 +7764,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7777,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 +7812,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7826,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3556,8 +7850,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7865,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 +7901,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7914,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3622,8 +7938,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7951,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 +7986,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8000,20 @@ 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.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3686,8 +8024,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8039,121 @@ 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;
+# Fail-point 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from 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_done_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;
@@ -3722,7 +8164,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8177,247 @@ 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));
+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_12: AFTER failure
+# d,fail_done_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#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 COLLATE=latin1_swedish_ci
+ 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
+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))
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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;
@@ -3752,8 +8428,43 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `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 +8476,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");
-# 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_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;
@@ -3785,7 +8509,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8523,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_12: AFTER failure (under LOCK TABLE)
+# 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;
@@ -3816,8 +8544,12581 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 17 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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_convert_partition_10
+set @@debug_dbug= "+d,fail_convert_partition_10";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_convert_partition_10: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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;
+# d,fail_convert_partition_10: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 16: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+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 COLLATE=latin1_swedish_ci
+ 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Iterating 15 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 14: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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);
+# d,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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
+11 Original from partition p1
+12 Original from partition p1
+13 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,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;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_done_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#P#p40.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` 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
+11 Original from partition p1
+12 Original from partition p1
+13 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;
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3828,6 +21129,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
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..a203e47f4cf
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result
@@ -0,0 +1,8516 @@
+# 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("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 18 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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#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_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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 16: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 17 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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#p30#SP#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_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#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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#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
+# d,crash_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 b8cd1fe57fd..8c11b4c1eaa 100644
--- a/mysql-test/suite/parts/r/debug_myisam_crash.result
+++ b/mysql-test/suite/parts/r/debug_myisam_crash.result
@@ -5,23 +5,40 @@
# 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;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 18 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 +49,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +63,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 +96,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +110,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 +150,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +164,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 +173,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 +199,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +213,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 +253,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +267,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 +276,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 +302,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +316,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 +356,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +370,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 +379,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 +405,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +419,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 +459,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +473,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 +482,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 +510,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +524,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 +564,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +578,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 +587,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 +615,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +629,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 +669,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +683,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 +692,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 +720,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +734,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 +774,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +788,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 +797,225 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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
+t1#P#p10.MYD
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
@@ -602,6 +1023,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 +1036,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
@@ -625,20 +1049,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 +1089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1103,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 +1128,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 +1141,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 +1153,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 +1195,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1209,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 +1234,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 +1247,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 +1259,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_3
+set @@debug_dbug= "+d,crash_done_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_done_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;
@@ -809,7 +1301,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1314,34 @@ 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_3: AFTER crash
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_3: 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 +1352,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1366,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_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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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_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;
@@ -882,7 +1463,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1477,177 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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 16: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +1655,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 +1683,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1697,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 17: 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 +1737,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1750,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 +1760,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 +1788,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1802,84 @@ 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 17 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.MYD
t1#P#p0.MYI
t1#P#p10.MYD
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;
@@ -1032,7 +1890,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1903,62 @@ 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 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +1966,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 +1991,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +2046,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2059,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 +2068,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 +2093,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +2148,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2161,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 +2170,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 +2195,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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;
@@ -1236,7 +2250,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2263,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)
+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
-# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
@@ -1270,28 +2351,508 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 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
+# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
+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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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;
@@ -1302,7 +2863,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2876,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_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
-# State after crash recovery
+# 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;
@@ -1334,28 +2910,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_3
+set @@debug_dbug= "+d,crash_done_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_done_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;
@@ -1366,7 +2966,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2979,21 @@ 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_done_partition_3: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_3: 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 +3003,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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_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;
@@ -1433,7 +3054,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3067,171 @@ 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_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_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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ 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_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
-# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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 COLLATE=latin1_swedish_ci
+ 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 15: 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
SHOW CREATE TABLE t1;
@@ -1472,7 +3242,57 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `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 +3304,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 16: 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 +3344,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3357,136 @@ 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
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
-# State after crash recovery
+# 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;
@@ -1549,7 +3497,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -1561,20 +3511,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 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+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 +3551,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3564,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_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1608,14 +3576,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_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;
@@ -1626,7 +3602,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3616,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 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;
@@ -1662,7 +3656,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3669,221 @@ 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
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 +3893,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 +3919,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3933,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 +3973,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3986,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 +4000,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 +4030,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4044,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 +4084,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4097,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 +4111,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 +4141,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4155,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 +4195,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4208,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 +4222,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 +4240,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 +4252,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +4266,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 +4306,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4319,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 +4333,128 @@ 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
+# 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.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
-# State after crash recovery
+# d,crash_change_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2026,6 +4462,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 +4474,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +4488,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 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;
@@ -2073,7 +4528,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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,23 +4541,142 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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#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
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
-# State after crash recovery
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2108,6 +4684,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 +4696,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +4710,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 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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_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;
@@ -2155,7 +4750,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4763,919 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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#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
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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#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_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2190,6 +5683,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 +5695,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +5708,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 +5750,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5763,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 +5795,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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2270,6 +5850,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 +5862,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +5875,96 @@ 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_3: AFTER crash
+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
+# d,crash_done_partition_3: 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 COLLATE=latin1_swedish_ci
+ 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_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;
@@ -2317,7 +5975,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -2328,11 +5988,269 @@ 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_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 COLLATE=latin1_swedish_ci
+ 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 @@debug_dbug= @save_dbug;
+# Crash-point 25: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ 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 @@debug_dbug= @save_dbug;
+# Crash-point 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
@@ -2340,9 +6258,53 @@ t1#P#p10.MYD
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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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
@@ -2350,6 +6312,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 +6324,10814 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,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
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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
+# d,crash_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition 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 21 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_convert_partition_10
+set @@debug_dbug= "+d,crash_convert_partition_10";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_10: AFTER crash
+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_10: 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 COLLATE=latin1_swedish_ci
+ 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 14: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 16: crash_done_partition_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: AFTER crash
+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_3: 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 18: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 19: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 20: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 19 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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-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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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
+#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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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_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#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+# d,crash_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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 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 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 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 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 30 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_3
+set @@debug_dbug= "+d,crash_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_3: 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.frm
+t1.par
+# d,crash_done_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.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ 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 26: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 29: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2373,4 +17143,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..b38da631159
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result
@@ -0,0 +1,10911 @@
+# 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("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 13 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY 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
+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))
+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 708ce222826..3d84977e12b 100644
--- a/mysql-test/suite/parts/r/debug_myisam_fail.result
+++ b/mysql-test/suite/parts/r/debug_myisam_fail.result
@@ -5,23 +5,40 @@
# 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;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 14 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 +49,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +63,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 +88,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +102,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 +139,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +154,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 +179,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +194,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 +234,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +248,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 +273,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +287,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 +324,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +339,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 +364,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +379,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 +419,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +433,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 +458,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +472,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 +509,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +524,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_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;
@@ -391,7 +549,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -404,20 +564,410 @@ 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 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 +978,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +992,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 +1017,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1031,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 +1068,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1083,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 +1108,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1123,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 +1163,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1177,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 +1202,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1216,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 +1253,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1268,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 +1293,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1308,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 +1348,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1362,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 +1387,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1401,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 +1438,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1453,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 +1478,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1493,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 +1533,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1547,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 +1572,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1586,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 +1623,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1638,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 +1663,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1678,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 +1718,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1732,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 +1745,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 +1758,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 +1771,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 +1808,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1823,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 +1836,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 +1849,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 +1863,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 +1903,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +1917,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 +1930,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 +1943,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 +1955,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 +1994,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2009,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 +2022,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 +2035,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 +2049,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 +2089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2103,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 +2116,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 +2129,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 +2141,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 +2180,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2195,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 +2208,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 +2221,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 +2235,232 @@ 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;
+# Fail-point 13: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 13 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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 +2471,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2484,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 +2509,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2523,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 +2560,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2574,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 +2599,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2614,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 +2654,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2667,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 +2692,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2706,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 +2743,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2757,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 +2782,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2797,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 +2837,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2850,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 +2875,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2889,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 +2926,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2940,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 +2965,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +2980,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 +3020,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3033,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 +3057,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3109,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3123,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 +3147,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3203,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3216,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 +3240,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3292,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3306,206 @@ 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 +3515,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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_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 +3571,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3584,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 +3608,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3660,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3674,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 +3698,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3754,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3767,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 +3791,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3843,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3857,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 +3881,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +3937,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +3950,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 +3974,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +4026,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4040,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 +4064,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +4120,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4133,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 +4157,49 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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;
@@ -2398,7 +4210,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -2410,12 +4224,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_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;
@@ -2425,32 +4248,402 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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;
+# 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));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 +4654,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4667,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 +4695,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4709,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 +4746,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4760,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 +4788,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4803,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 +4843,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4856,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 +4884,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4898,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 +4935,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4949,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 +4977,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +4992,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 +5032,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5045,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 +5073,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5087,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 +5124,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +5138,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_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;
@@ -2826,7 +5166,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -2839,20 +5181,991 @@ 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 = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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;
@@ -2863,7 +6176,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6189,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 +6217,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6231,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 +6268,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6282,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 +6310,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6325,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 +6365,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6378,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 +6406,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6420,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 +6457,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +6471,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_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;
@@ -3094,7 +6499,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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
@@ -3107,20 +6514,1172 @@ 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 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 +7690,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7703,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 +7731,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7745,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 +7782,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7796,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 +7824,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7839,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 +7879,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7892,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 +7908,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 +7920,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +7934,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 +7971,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +7985,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 +8001,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 +8013,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8028,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 +8068,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8081,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 +8097,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 +8109,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8123,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 +8160,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8174,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 +8190,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 +8202,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8217,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 +8257,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8270,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 +8286,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 +8298,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8312,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 +8349,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8363,163 @@ 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
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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
@@ -3637,6 +8527,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 +8539,51 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
+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.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `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 +8596,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 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_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;
@@ -3685,7 +8636,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8649,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_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3708,6 +8665,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 +8677,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +8690,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_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;
@@ -3753,7 +8729,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +8743,168 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3777,6 +8912,52 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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;
@@ -3787,8 +8968,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 (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
@@ -3799,22 +8982,44 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+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))
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;
+# Iterating 24 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_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_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;
@@ -3825,7 +9030,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +9043,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_11: 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
@@ -3848,6 +9056,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 +9068,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
@@ -3871,18 +9082,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_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_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;
@@ -3893,7 +9119,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +9133,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_11: 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
@@ -3917,6 +9146,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 +9158,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +9173,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_12";
+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");
-# 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_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;
@@ -3965,7 +9213,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +9226,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_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3988,6 +9239,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 +9251,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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 +9265,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_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;
@@ -4033,7 +9302,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,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 +9316,105 @@ 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_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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
@@ -4057,6 +9422,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 +9434,13816 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 17 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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_convert_partition_10
+set @@debug_dbug= "+d,fail_convert_partition_10";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_convert_partition_10: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from 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_10: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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;
+# d,fail_convert_partition_10: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 15: 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 16: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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#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 COLLATE=latin1_swedish_ci
+ 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
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Iterating 15 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 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 COLLATE=latin1_swedish_ci
+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 14: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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);
+# d,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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'
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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_done_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#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 COLLATE=latin1_swedish_ci
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` 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;
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Iterating 24 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 22 "Invalid argument" 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 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 23: fail_done_partition_3
+set @@debug_dbug= "+d,fail_done_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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition 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,fail_done_partition_3: AFTER failure
+show warnings;
+Level Code Message
+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 COLLATE=latin1_swedish_ci
+ 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;
+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_done_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 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from 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_done_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.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4079,6 +23254,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
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 5aae648dd1c..19a7c3b0ee6 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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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,15 @@ 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_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 +1147,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 COLLATE=latin1_swedish_ci
-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 +1187,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 +1199,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 +1244,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 COLLATE=latin1_swedish_ci
-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 +1283,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 +1295,15 @@ 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_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 +1337,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 COLLATE=latin1_swedish_ci
-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 +1377,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 +1389,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 +1434,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 COLLATE=latin1_swedish_ci
-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 +1473,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 +1485,15 @@ 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_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 +1527,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 COLLATE=latin1_swedish_ci
-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 +1567,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 +1579,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 +1624,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 COLLATE=latin1_swedish_ci
-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 +1663,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 +1675,15 @@ 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_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 +1717,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 COLLATE=latin1_swedish_ci
-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 +1757,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 +1769,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 +1814,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 COLLATE=latin1_swedish_ci
-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 +1841,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 +1861,24 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
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
+5 Original from table t2
+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;
-#
-# MDEV-22165 CONVERT PARTITION: move in partition from existing table
-#
-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
+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 +1887,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +1927,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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 +1984,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2023,52 @@ 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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
+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 +2077,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2117,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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 +2174,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2213,52 @@ 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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
+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 +2267,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2307,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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 +2364,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2403,52 @@ 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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
+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 +2457,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2497,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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 +2554,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2593,52 @@ 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
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
+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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2647,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 +2687,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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
- 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 COLLATE=latin1_swedish_ci
-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 4d4538c168e..872d07511a4 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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 COLLATE=latin1_swedish_ci
+ 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,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +1115,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 +1127,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 +1171,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 COLLATE=latin1_swedish_ci
+ 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 +1219,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +1297,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 +1309,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 +1353,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 COLLATE=latin1_swedish_ci
+ 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 +1401,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +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` (
@@ -1256,6 +1491,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 +1535,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 COLLATE=latin1_swedish_ci
+ 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 +1583,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +1661,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 +1673,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 +1717,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 COLLATE=latin1_swedish_ci
+ 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 +1765,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +1843,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 +1855,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 +1899,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 COLLATE=latin1_swedish_ci
+ 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 +1947,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +2025,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 +2037,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 +2081,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 COLLATE=latin1_swedish_ci
+ 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 +2129,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +2207,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 +2219,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 +2263,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 COLLATE=latin1_swedish_ci
+ 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 +2311,54 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+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 COLLATE=latin1_swedish_ci
+ 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 +2389,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 +2401,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 +2445,102 @@ 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 COLLATE=latin1_swedish_ci
-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 COLLATE=latin1_swedish_ci
+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 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 COLLATE=latin1_swedish_ci
+ 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 +2571,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 +2583,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 61d2bd51db6..3db1a087247 100644
--- a/sql/ddl_log.cc
+++ b/sql/ddl_log.cc
@@ -29,6 +29,7 @@
#include "sql_show.h" // append_identifier()
#include "sql_db.h" // drop_database_objects()
#include <mysys_err.h> // EE_LINK
+#include <my_dbug.h>
/*--------------------------------------------------------------------------
@@ -87,12 +88,15 @@ 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",
+ /* NOTE: the below 3 cannot be removed even with DDL_LOG_NO_OLD */
+ "partitioning delete", "partitioning rename", "partitioning replace",
+ "partitioning exchange",
"rename table", "rename view",
"initialize drop table", "drop table",
"drop view", "drop trigger", "drop db", "create table", "create view",
- "delete tmp file", "create trigger", "alter table", "store query"
+ "delete tmp file", "create trigger", "alter table", "store query",
+ "file delete", "file rename", "file replace"
};
/* Number of phases per entry */
@@ -103,7 +107,7 @@ const uchar ddl_log_entry_phases[DDL_LOG_LAST_ACTION]=
(uchar) DDL_DROP_PHASE_END, 1, 1,
(uchar) DDL_DROP_DB_PHASE_END, (uchar) DDL_CREATE_TABLE_PHASE_END,
(uchar) DDL_CREATE_VIEW_PHASE_END, 0, (uchar) DDL_CREATE_TRIGGER_PHASE_END,
- DDL_ALTER_TABLE_PHASE_END, 1
+ DDL_ALTER_TABLE_PHASE_END, 1, 1, 1, 2,
};
@@ -1309,7 +1313,7 @@ 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;
+ 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);
@@ -1335,12 +1339,20 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
handler_name= ddl_log_entry->handler_name;
thd->push_internal_handler(&no_such_table_handler);
+#ifndef DDL_LOG_NO_OLD
+ bool frm_action= FALSE;
if (!strcmp(ddl_log_entry->handler_name.str, reg_ext))
frm_action= TRUE;
- else if (ddl_log_entry->handler_name.length)
+#endif
+
+ if (ddl_log_entry->handler_name.length)
{
if (!(file= create_handler(thd, mem_root, &handler_name)))
+ {
+ /* report_error is not possible without file */
+ report_error= 0;
goto end;
+ }
hton= file->ht;
}
@@ -1350,6 +1362,7 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
fn_flags|= FN_TO_IS_TMP;
switch (ddl_log_entry->action_type) {
+#ifndef DDL_LOG_NO_OLD
case DDL_LOG_REPLACE_ACTION:
case DDL_LOG_DELETE_ACTION:
{
@@ -1364,7 +1377,7 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
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,
+ (void) mysql_file_delete(key_file_ddl_log, to_path,
MYF(0));
#endif
}
@@ -1392,24 +1405,56 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
/* fall through */
case DDL_LOG_RENAME_ACTION:
{
+ error= TRUE;
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));
+ (void) 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;
+ (void) mysql_file_rename(key_file_ddl_log, from_path, to_path,
+ MYF(MY_WME));
#endif
}
else
- error= file->ha_rename_table(ddl_log_entry->from_name.str,
+ (void) file->ha_rename_table(ddl_log_entry->from_name.str,
ddl_log_entry->name.str);
if (increment_phase(entry_pos))
+ break;
+ break;
+ }
+#endif /* DDL_LOG_NO_OLD */
+ 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 (unlikely((error= mysql_file_delete(key_file_ddl_log,
+ 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_FILE_DELETE_ACTION)
+ break;
+ }
+ }
+ 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_FILE_RENAME_ACTION:
+ {
+ error= mysql_file_rename(key_file_ddl_log, ddl_log_entry->from_name.str,
+ ddl_log_entry->name.str, MYF(MY_WME));
+ if (increment_phase(entry_pos))
{
error= -1;
break;
@@ -1421,7 +1466,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.
@@ -1467,11 +1511,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)
{
/*
@@ -1495,17 +1541,26 @@ 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 (ddl_log_entry->flags & DDL_LOG_FLAG_UPDATE_STAT)
+ if (alter_partition)
+ {
+ error= file->ha_rename_table(ddl_log_entry->from_name.str,
+ ddl_log_entry->name.str);
+ DBUG_ASSERT(!(ddl_log_entry->flags & DDL_LOG_FLAG_UPDATE_STAT));
+
+ }
+ else
{
- /* Update stat tables last */
- rename_in_stat_tables(thd, ddl_log_entry, 0);
+ /* 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 */
+ rename_in_stat_tables(thd, ddl_log_entry, 0);
+ }
}
/* disable the entry and sync */
@@ -1594,7 +1649,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 */
@@ -1607,14 +1665,14 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
/* Fall through */
case DDL_DROP_PHASE_TRIGGER:
DEBUG_SYNC(thd, "ddl_log_before_drop_triggers");
- 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:
@@ -2011,7 +2069,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)))
+ {
+ report_error= 0;
goto end;
+ }
/* Handlerton of the final table and any temporary tables */
org_hton= org_file->ht;
/*
@@ -2021,7 +2082,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.
@@ -2302,7 +2363,7 @@ static int ddl_log_execute_action(THD *thd, MEM_ROOT *mem_root,
strxmov(to_path, ddl_log_entry->tmp_name.str, reg_ext, NullS);
mysql_file_delete(key_file_frm, to_path, MYF(MY_WME|MY_IGNORE_ENOENT));
strxmov(to_path, ddl_log_entry->tmp_name.str, PAR_EXT, NullS);
- mysql_file_delete(key_file_partition_ddl_log, to_path,
+ mysql_file_delete(key_file_ddl_log, to_path,
MYF(MY_WME|MY_IGNORE_ENOENT));
(void) update_phase(entry_pos, DDL_LOG_FINAL_PHASE);
break;
@@ -2483,6 +2544,7 @@ static bool ddl_log_execute_entry_no_lock(THD *thd, uint first_entry,
MEM_ROOT mem_root;
bool result= false;
DBUG_ENTER("ddl_log_execute_entry_no_lock");
+ DBUG_PRINT("info", ("execute_entry: %u", execute_entry));
mysql_mutex_assert_owner(&LOCK_gdl);
init_sql_alloc(key_memory_gdl, &mem_root, TABLE_ALLOC_BLOCK_SIZE, 0,
@@ -3022,7 +3084,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");
@@ -3035,7 +3097,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);
@@ -3126,8 +3188,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;
@@ -3699,27 +3761,33 @@ err:
}
-/*
- Log an delete frm file
-*/
+#ifdef WITH_PARTITION_STORAGE_ENGINE
+/**
+ 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);
+ strxmov(to_file, to_path, PAR_EXT, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
+ 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;
+ strxmov(to_file, to_path, reg_ext, NullS);
+ lex_string_set(&ddl_log_entry.name, to_file);
if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
DBUG_RETURN(1);
@@ -3727,6 +3795,51 @@ 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];
+ size_t len;
+ 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);
+ len= (strxmov(to_file, to_path, PAR_EXT, NullS) - to_file);
+ lex_string_set3(&ddl_log_entry.name, to_file, len);
+ len =(strxmov(from_file, from_path, PAR_EXT, NullS) - from_file);
+ lex_string_set3(&ddl_log_entry.from_name, from_file, len);
+ 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;
+ len= (strxmov(to_file, to_path, reg_ext, NullS) - to_file);
+ lex_string_set3(&ddl_log_entry.name, to_file, len);
+ len= (strxmov(from_file, from_path, reg_ext, NullS) - from_file);
+ lex_string_set3(&ddl_log_entry.from_name, from_file, len);
+
+ if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
+ DBUG_RETURN(true);
+
+ ddl_log_add_entry(ddl_state, log_entry);
+ DBUG_RETURN(false);
+}
+#endif
+
+
/*
Link the ddl_log_state to another (master) chain. If the master
chain is active during DDL recovery, this event will not be executed.
@@ -3735,10 +3848,22 @@ bool ddl_log_delete_frm(DDL_LOG_STATE *ddl_state, const char *to_path)
CREATE OR REPLACE ... is used.
*/
-void ddl_log_link_chains(DDL_LOG_STATE *state, DDL_LOG_STATE *master_state)
+bool ddl_log_link_chains(DDL_LOG_STATE *state, DDL_LOG_STATE *master_state)
{
+ if (!master_state->execute_entry)
+ {
+ mysql_mutex_lock(&LOCK_gdl);
+ if (ddl_log_write_execute_entry(0, master_state->master_chain_pos,
+ &master_state->execute_entry))
+ {
+ mysql_mutex_unlock(&LOCK_gdl);
+ return true;
+ }
+ mysql_mutex_unlock(&LOCK_gdl);
+ }
DBUG_ASSERT(master_state->execute_entry);
state->master_chain_pos= master_state->execute_entry->entry_pos;
+ return false;
}
/*
diff --git a/sql/ddl_log.h b/sql/ddl_log.h
index 720955a14f2..674bea676e6 100644
--- a/sql/ddl_log.h
+++ b/sql/ddl_log.h
@@ -58,6 +58,7 @@ enum ddl_log_action_code
*/
DDL_LOG_UNKNOWN_ACTION= 0,
+#ifndef DDL_LOG_NO_OLD
/* Delete a .frm file or a table in the partition engine */
DDL_LOG_DELETE_ACTION= 1,
@@ -69,6 +70,7 @@ enum ddl_log_action_code
new name, that is replace this entry.
*/
DDL_LOG_REPLACE_ACTION= 3,
+#endif
/* Exchange two entities by renaming them a -> tmp, b -> a, tmp -> b */
DDL_LOG_EXCHANGE_ACTION= 4,
@@ -88,6 +90,10 @@ enum ddl_log_action_code
DDL_LOG_CREATE_TRIGGER_ACTION=15,
DDL_LOG_ALTER_TABLE_ACTION=16,
DDL_LOG_STORE_QUERY_ACTION=17,
+ DDL_LOG_FILE_DELETE_ACTION= 18,
+ DDL_LOG_FILE_RENAME_ACTION= 19,
+ DDL_LOG_FILE_REPLACE_ACTION= 20,
+
DDL_LOG_LAST_ACTION /* End marker */
};
@@ -266,6 +272,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);
@@ -274,7 +286,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);
@@ -284,6 +297,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);
@@ -357,8 +374,12 @@ bool ddl_log_alter_table(DDL_LOG_STATE *ddl_state,
bool is_renamed);
bool ddl_log_store_query(THD *thd, DDL_LOG_STATE *ddl_log_state,
const char *query, size_t length);
+#ifdef WITH_PARTITION_STORAGE_ENGINE
bool ddl_log_delete_frm(DDL_LOG_STATE *ddl_state, const char *to_path);
-void ddl_log_link_chains(DDL_LOG_STATE *state, DDL_LOG_STATE *master_state);
+bool ddl_log_rename_frm(DDL_LOG_STATE *ddl_state,
+ const char *from_path, const char *to_path);
+#endif
+bool ddl_log_link_chains(DDL_LOG_STATE *state, DDL_LOG_STATE *master_state);
void ddl_log_start_atomic_block(DDL_LOG_STATE *state);
bool ddl_log_commit_atomic_block(DDL_LOG_STATE *state);
extern mysql_mutex_t LOCK_gdl;
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 291ded79be8..db290adcb03 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -879,332 +879,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
@@ -1660,7 +1334,8 @@ bool ha_partition::is_crashed() const
/*
- Create a new partition
+ Create a new partition: create, open and lock partition file.
+ Store it to m_added_file.
SYNOPSIS
create_partition()
@@ -1680,10 +1355,15 @@ int ha_partition::create_partition(TABLE *tbl, HA_CREATE_INFO *create_info,
uint disable_non_uniq_indexes)
{
int error;
- DBUG_ENTER("create_partition");
-
const uint part= p_elem->serial_id(m_part_info->num_subparts);
handler *file= m_new_file[part];
+#ifndef DBUG_OFF
+ char part_name_buff[FN_REFLEN + 1];
+ /* Assert that it works without HA_FILE_BASED and lower_case_table_name = 2. */
+ DBUG_ASSERT(!strcmp(part_name, get_canonical_filename(file, part_name,
+ part_name_buff)));
+#endif
+ DBUG_ENTER("create_partition");
/*
This call to set_up_table_before_create() is done for an alter table.
@@ -1763,11 +1443,11 @@ error_create:
NONE
DESCRIPTION
- This function is called immediately after prepare_new_partition() in
+ This function is called immediately after create_partition() in
case the latter fails.
- In prepare_new_partition() last call that may return failure is
- external_lock(). That means if prepare_new_partition() fails,
+ In create_partition() last call that may return failure is
+ external_lock(). That means if create_partition() fails,
partition does not have external lock. Thus no need to call
external_lock(F_UNLCK) here.
@@ -1786,15 +1466,12 @@ void ha_partition::cleanup_new_partition()
if (m_added_file)
{
THD *thd= ha_thd();
- handler **file= m_added_file;
- while (*file)
+ for (handler **file= m_added_file; *file; file++)
{
(*file)->ha_external_unlock(thd);
(*file)->ha_close();
/* Leave the (*file)->delete_table(part_name) to the ddl-log */
-
- file++;
}
m_added_file= NULL;
}
@@ -1835,17 +1512,6 @@ int ha_partition::allocate_partitions()
THD *thd= ha_thd();
DBUG_ENTER("ha_partition::allocate_partitions");
-#if 0
- // FIXME: put somewhere
- char part_name_buff[FN_REFLEN + 1];
- /*
- 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)));
-#endif
-
m_reorged_parts= 0;
/*
@@ -1992,10 +1658,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);
}
@@ -2015,194 +1679,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;
- }
- /*
- FIXME: removed wrong fix MDEV-28400 (3330f8d1564, fbfd44be)
- Fix that in copy_partitions(), retest its case from
- insert_into_empty.test
- */
- error= copy_partitions(copied, deleted);
- if (unlikely(error))
- {
- /*
- 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);
}
@@ -2242,9 +1720,11 @@ int ha_partition::copy_partitions(ulonglong * const copied,
else if (m_part_info->part_type == VERSIONING_PARTITION)
{
if (m_part_info->check_constants(ha_thd(), m_part_info))
- goto init_error;
+ DBUG_RETURN(0);
}
+ extra_on_new_files(HA_EXTRA_BEGIN_ALTER_COPY);
+
while (reorg_part < m_reorged_parts)
{
handler *file= m_reorged_file[reorg_part];
@@ -2290,12 +1770,16 @@ int ha_partition::copy_partitions(ulonglong * const copied,
file->ha_rnd_end();
reorg_part++;
}
+
+ extra_on_new_files(HA_EXTRA_END_ALTER_COPY);
+
DBUG_EXECUTE_IF("debug_abort_copy_partitions",
DBUG_RETURN(HA_ERR_UNSUPPORTED); );
DBUG_RETURN(FALSE);
error:
m_reorged_file[reorg_part]->ha_rnd_end();
init_error:
+ extra_on_new_files(HA_EXTRA_END_ALTER_COPY);
DBUG_RETURN(result);
}
@@ -3128,8 +2612,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)));
@@ -3137,8 +2621,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)));
@@ -3829,8 +3313,8 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
if (!bitmap_is_set(&m_is_clone_of->m_opened_partitions, i))
{
/* Here we should just create the handler instance, not open it. */
- if (!(m_file[i]= get_new_handler(table->s, m_clone_mem_root,
- file[i]->ht)))
+ if (!(m_file[i]= ::get_new_handler(table->s, m_clone_mem_root,
+ file[i]->ht)))
{
error= HA_ERR_INITIALIZATION;
file= &m_file[i];
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index ac0e600c8e6..398acd39871 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -467,6 +467,19 @@ 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 *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 +567,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");
@@ -580,6 +587,11 @@ public:
const char *part_name, partition_element *p_elem,
uint disable_non_uniq_indexes);
private:
+ void extra_on_new_files(enum ha_extra_function operation)
+ {
+ for (handler **f= m_new_file; *f; f++)
+ (*f)->extra(operation);
+ }
/*
delete_table and rename_table uses very similar logic which
is packed into this routine.
diff --git a/sql/handler.cc b/sql/handler.cc
index 6cfd08c8db1..e0cb7311836 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -5483,68 +5483,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 774b53150b0..cc3e8795895 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
@@ -3599,15 +3598,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);
@@ -5114,22 +5104,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/mysqld.cc b/sql/mysqld.cc
index 0fc67c6f88f..0b0568c86ce 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -879,7 +879,7 @@ PSI_file_key key_file_binlog, key_file_binlog_cache, key_file_binlog_index,
key_file_fileparser, key_file_frm, key_file_global_ddl_log, key_file_load,
key_file_loadfile, key_file_log_event_data, key_file_log_event_info,
key_file_log_ddl,
- key_file_master_info, key_file_misc, key_file_partition_ddl_log,
+ key_file_master_info, key_file_misc, key_file_ddl_log,
key_file_pid, key_file_relay_log_info, key_file_send_file, key_file_tclog,
key_file_trg, key_file_trn, key_file_init;
PSI_file_key key_file_query_log, key_file_slow_log;
@@ -9151,7 +9151,7 @@ static PSI_file_info all_server_files[]=
{ &key_file_log_event_info, "log_event_info", 0},
{ &key_file_master_info, "master_info", 0},
{ &key_file_misc, "misc", 0},
- { &key_file_partition_ddl_log, "partition_ddl_log", 0},
+ { &key_file_ddl_log, "ddl_log", 0},
{ &key_file_pid, "pid", 0},
{ &key_file_query_log, "query_log", 0},
{ &key_file_relay_log_info, "relay_log_info", 0},
diff --git a/sql/mysqld.h b/sql/mysqld.h
index 90306ccb290..90c2166c872 100644
--- a/sql/mysqld.h
+++ b/sql/mysqld.h
@@ -401,7 +401,7 @@ extern PSI_file_key key_file_binlog, key_file_binlog_cache,
key_file_dbopt, key_file_des_key_file, key_file_ERRMSG, key_select_to_file,
key_file_fileparser, key_file_frm, key_file_global_ddl_log, key_file_load,
key_file_loadfile, key_file_log_event_data, key_file_log_event_info,
- key_file_master_info, key_file_misc, key_file_partition_ddl_log,
+ key_file_master_info, key_file_misc, key_file_ddl_log,
key_file_pid, key_file_relay_log_info, key_file_send_file, key_file_tclog,
key_file_trg, key_file_trn, key_file_init, key_file_log_ddl;
extern PSI_file_key key_file_query_log, key_file_slow_log;
diff --git a/sql/partition_element.h b/sql/partition_element.h
index a97585ddad4..380c5b26949 100644
--- a/sql/partition_element.h
+++ b/sql/partition_element.h
@@ -33,15 +33,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
};
/*
@@ -112,7 +110,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;
@@ -134,7 +131,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),
@@ -148,7 +145,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),
@@ -175,12 +171,23 @@ public:
return ev->col_val_array[idx];
}
+ /**
+ Positional ID in ha_partition::m_file array
+
+ @param num_subparts In case this element is subpartition this must be the
+ total number of subpartitions, 0 otherwise.
+ */
uint32 serial_id(uint num_subparts) const
{
DBUG_ASSERT(num_subparts || !parent_part);
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 d5f71be33fc..25ac5b51f23 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
struct Vers_part_info : public Sql_alloc
@@ -94,7 +92,7 @@ struct Vers_part_info : public Sql_alloc
See generate_partition_syntax() for details of how the data is used
in partition expression.
*/
-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 9a1f634f6fe..8127eaf887b 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -5011,7 +5011,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. */
@@ -5054,7 +5054,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.
@@ -5830,6 +5830,7 @@ the generated partition syntax in a correct manner.
} while (++part_count < tab_part_info->num_parts);
tab_it.rewind();
part_count= 0;
+ /* Update id after tab_it.replace() and tab_it.remove() */
while (partition_element *el= tab_it++)
el->id= part_count++;
if (drop_count != num_parts_reorged)
@@ -6123,587 +6124,636 @@ 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.
+#ifndef DBUG_OFF
+#define HA_ERR_INJECT(code) (ERROR_INJECT(code) && (ha_err= EINVAL))
+#else
+#define HA_ERR_INJECT(code) false
+#endif
- 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, bool copy_data)
+class Alter_partition_drop
{
- char path[FN_REFLEN+1];
- int error;
- handler *file= lpt->table->file;
- THD *thd= lpt->thd;
- DBUG_ENTER("mysql_change_partitions");
-
- build_table_filename(path, sizeof(path) - 1, lpt->db.str, lpt->table_name.str, "", 0);
+protected:
+ const char *path;
+ enum_part_name_type from_name_type; /* NORMAL_PART_NAME, TEMP_PART_NAME, RENAMED_PART_NAME */
+ enum_part_name_type to_name_type; /* same + SKIP_PART_NAME */
- if(copy_data && 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_buf[FN_REFLEN + 1];
+ char to_name_buf[FN_REFLEN + 1];
+ LEX_CSTRING from_name, to_name;
+ 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_drop(ALTER_PARTITION_PARAM_TYPE *lpt) :
+ path(lpt->path), from_name_type(SKIP_PART_NAME),
+ to_name_type(SKIP_PART_NAME),
+ from_name{NULL, 0}, to_name{NULL, 0},
+ 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);
+ }
+
+ virtual ~Alter_partition_drop() {}
+ bool iterate(Phase phase, enum_part_name_type from_name_arg,
+ enum_part_name_type 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))))
+ bool build_names(partition_element *part_elem, partition_element *sub_elem)
{
- file->print_error(error, MYF(error != ER_OUTOFMEMORY ? 0 : ME_FATAL));
- }
+ bzero(&ddl_log_entry, sizeof(ddl_log_entry));
+ ddl_log_entry.flags= DDL_LOG_FLAG_ALTER_PARTITION;
- DBUG_ASSERT(copy_data || (!lpt->copied && !lpt->deleted));
-
- if (copy_data && mysql_trans_commit_alter_copy_data(thd))
- error= 1; /* The error has been reported */
-
- DBUG_RETURN(MY_TEST(error));
-}
+ 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)
+ {
+ from_name= { from_name_buf, sizeof(from_name_buf) };
+ if (create_partition_name(&from_name, path, part_elem->partition_name,
+ from_name_type, true /* translate */))
+ return true;
+ }
+ if (to_name_type != SKIP_PART_NAME)
+ {
+ to_name= { to_name_buf, sizeof(to_name_buf) };
+ if (create_partition_name(&to_name, path, part_elem->partition_name,
+ to_name_type, true /* translate */))
+ return true;
+ }
+ }
+ else
+ {
+ if (from_name_type != SKIP_PART_NAME)
+ {
+ from_name= { from_name_buf, sizeof(from_name_buf) };
+ if (create_subpartition_name(&from_name, path, part_elem->partition_name,
+ sub_elem->partition_name, from_name_type))
+ return true;
+ }
+ if (to_name_type != SKIP_PART_NAME)
+ {
+ to_name= { to_name_buf, sizeof(to_name_buf) };
+ if (create_subpartition_name(&to_name, path, part_elem->partition_name,
+ sub_elem->partition_name, to_name_type))
+ return true;
+ }
+ }
-/*
- Rename partitions in an ALTER TABLE of partitions
+ return false;
+ }
- SYNOPSIS
- mysql_rename_partitions()
- lpt Struct containing parameters
+ /**
+ check_state() selects partitions to be processed by process_partition()
+ */
- RETURN VALUES
- TRUE Failure
- FALSE Success
+ virtual
+ bool needs_processing(partition_element *part_elem)
+ {
+ return part_elem->part_state == PART_TO_BE_DROPPED;
+ }
- DESCRIPTION
- Request handler to rename partitions as set in states of the partition
+ /**
+ DROP PARTITION processing
- Parameters used:
- db Database name
- table_name Table name
-*/
+ 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.
+ */
-static bool mysql_rename_partitions(ALTER_PARTITION_PARAM_TYPE *lpt)
-{
- char path[FN_REFLEN+1];
- int error;
- DBUG_ENTER("mysql_rename_partitions");
+ 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;
+ }
- 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))))
+#ifdef DBUG_OFF
+#define DEBUG_CRASH_OR_FAIL false
+#else
+#define DEBUG_CRASH_OR_FAIL debug_crash_or_fail()
+ bool debug_crash_or_fail()
{
- if (error != 1)
- lpt->table->file->print_error(error, MYF(0));
- DBUG_RETURN(TRUE);
+ 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;
+ }
+ return false;
}
- DBUG_RETURN(FALSE);
-}
+#endif
+#ifdef DBUG_OFF
+#define DEBUG_ASSERT_STATES(A) do { } while(0)
+#else
+#define DEBUG_ASSERT_STATES(A) debug_assert_states(A)
+ void debug_assert_states(partition_element *part_elem)
+ {
+ 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.str); /* 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.str); /* 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
-/*
- Drop partitions in an ALTER TABLE of partitions
+ /**
+ The body of iteration: each partition selected by check_state() is
+ processed here.
- SYNOPSIS
- mysql_drop_partitions()
- lpt Struct containing parameters
+ 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.
+ */
- RETURN VALUES
- TRUE Failure
- FALSE Success
- DESCRIPTION
- Drop the partitions marked with PART_TO_BE_DROPPED state and remove
- those partitions from the list.
+ virtual
+ bool process_partition(partition_element *part_elem,
+ partition_element *sub_elem)
+ {
+ DEBUG_ASSERT_STATES(part_elem);
+ DDL_LOG_STATE *output_chain= rollback_chain;
+ bool do_rename= false;
+
+ 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;
+ ddl_log_entry.from_name= to_name;
+ do_rename= true;
+ break;
+ case ADD_PARTITIONS:
+ ddl_log_entry.action_type= DDL_LOG_DROP_TABLE_ACTION;
+ ddl_log_entry.tmp_name= from_name;
+ break;
+ case LOG_DROP_BACKUPS:
+ ddl_log_entry.action_type= DDL_LOG_DROP_TABLE_ACTION;
+ ddl_log_entry.tmp_name= 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;
+ }
+
+ ddl_log_entry.next_entry= output_chain->list ?
+ output_chain->list->entry_pos : 0;
+ if (ddl_log_write(output_chain, &ddl_log_entry))
+ return true;
+
+ if (do_rename)
+ {
+ int ha_err;
+ DBUG_ASSERT(table->file->ht->db_type == DB_TYPE_PARTITION_DB);
+ handler *file= (phase & (RENAME_ADDED_PARTS|CONVERT_IN) ?
+ hp->new_handler(part_elem, sub_elem) :
+ hp->get_child_handler(part_elem, sub_elem));
+ ha_err= file->ha_rename_table(from_name.str, to_name.str);
+ if (ha_err ||
+ HA_ERR_INJECT("alter_partition_rename_table"))
+ {
+ file->print_error(ha_err, MYF(0));
+ return true;
+ }
+ }
+
+ return DEBUG_CRASH_OR_FAIL;
+ }
+};
- 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_drop
{
- 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_drop(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 needs_processing(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_drop::process_partition(part_elem, sub_elem))
+ return true;
+
+ ha_err= hp->create_partition(table, lpt->create_info, from_name.str,
+ sub_elem ? sub_elem : part_elem,
+ disable_non_uniq_indexes);
+ if (ha_err ||
+ HA_ERR_INJECT("alter_partition_add"))
+ {
+ hp->print_error(ha_err, MYF(0));
+ hp->cleanup_new_partition();
+ return true;
+ }
+
+ return false;
+ }
+};
- DESCRIPTION
- Rename partition table marked with PART_TO_BE_DROPPED into a separate table
- under the name lpt->alter_ctx->(new_db, new_name).
- This is ddl-logged by write_log_convert_out_partition().
+/**
+ 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 needs_processing(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;
-}
+ /*
+ Call Alter_partition_add::process_partition() for each
+ (PART_TO_BE_ADDED|PART_CHANGED) partition to create the partitions
+ */
-/*
- 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
-*/
+ 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;
+ }
-static void release_part_info_log_entries(DDL_LOG_MEMORY_ENTRY *log_entry)
-{
- DBUG_ENTER("release_part_info_log_entries");
+ if (HA_ERR_INJECT("change_partition_add_parts_1") ||
+ (ha_err= hp->copy_partitions(&lpt->copied, &lpt->deleted)) ||
+ HA_ERR_INJECT("change_partition_add_parts_2") ||
+ (ha_err= mysql_trans_commit_alter_copy_data(thd, false)) ||
+ HA_ERR_INJECT("change_partition_add_parts_3"))
+ {
+ /* Rollback the transaction */
+ (void) mysql_trans_commit_alter_copy_data(thd, true);
+ hp->print_error(ha_err, MYF(0));
+ return true;
+ }
- while (log_entry)
- {
- DDL_LOG_MEMORY_ENTRY *next= log_entry->next_active_log_entry;
- ddl_log_release_memory_entry(log_entry);
- log_entry= next;
+ return false;
}
- DBUG_VOID_RETURN;
-}
+ /**
+ REORGANIZE processing part 2
+ */
-/*
- 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 rename_parts()
+ {
+ DEBUG_SYNC(lpt->thd, "before_rename_partitions");
+ /*
+ Rename to backups
-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");
+ For REORGANIZE partitions rebuilt are inside temp_partitions marked by
+ PART_TO_BE_REORGED, partitions dropped are inside partitions marked by
+ PART_REORGED_DROPPED.
+
+ For REBUILD partitions are marked by PART_CHANGED.
+ */
+ 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;
+ /*
+ Rename from temporary newly added or rebuilt partitions
- 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);
+ REORGANIZE adds new partitions in PART_TO_BE_ADDED state.
+ REBUILD uses PART_CHANGED state for rewriting partitions.
+ */
+ 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;
+ /*
+ Log drop backups
- if (ddl_log_write_entry(&ddl_log_entry, &log_entry))
- {
- DBUG_RETURN(true);
+ Above backed up partitions must be dropped at the latest stage of processing
+ (see ddl_log_revert(cleanup_chain) in fast_alter_partition_table()).
+ */
+ 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;
}
- ddl_log_add_entry(lpt->part_info, log_entry);
- DBUG_RETURN(false);
-}
+ /**
+ CONVERT OUT processing
+ */
-/*
- 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.
-*/
+ bool convert_out()
+ {
+ to_name.length= build_table_filename(to_name_buf, sizeof(to_name_buf) - 1,
+ lpt->alter_ctx->new_db.str,
+ lpt->alter_ctx->new_name.str, "", 0);
+ to_name.str= to_name_buf;
-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_DROPPED;
+ if (iterate(CONVERT_OUT, NORMAL_PART_NAME, SKIP_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
- do
+ /**
+ CONVERT IN processing
+ */
+
+ bool convert_in()
{
- partition_element *part_elem= part_it++;
- if (part_elem->part_state == PART_IS_CHANGED ||
- (part_elem->part_state == PART_IS_ADDED && temp_partitions))
- {
- 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);
+ TABLE_LIST* table_from= lpt->table_list->next_local;
- *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);
- }
+ ha_err= hp->allocate_partitions();
+ if (ha_err)
+ {
+ hp->print_error(ha_err, MYF(0));
+ return true;
}
- } while (++i < num_elements);
- DBUG_RETURN(FALSE);
-}
+ from_name.length= build_table_filename(from_name_buf, sizeof(from_name_buf) - 1,
+ table_from->db.str, table_from->table_name.str,
+ "", 0);
+ from_name.str= from_name_buf;
-/*
- Log dropped or converted partitions
- SYNOPSIS
- log_drop_or_convert_action()
- lpt Struct containing parameters
- RETURN VALUES
- TRUE Error
- FALSE Success
-*/
+ processed_state= PART_TO_BE_ADDED;
+ if (iterate(CONVERT_IN, SKIP_PART_NAME, NORMAL_PART_NAME,
+ &part_info->partitions))
+ return true;
+ return false;
+ }
-enum log_action_enum
-{
- ACT_DROP = 0,
- ACT_CONVERT_IN,
- ACT_CONVERT_OUT
+ bool process_partition(partition_element *part_elem,
+ partition_element *sub_elem)
+ {
+ switch (phase)
+ {
+ 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_drop::process_partition(part_elem, sub_elem);
+ default:
+ DBUG_ASSERT(0);
+ return true;
+ }
+ 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_drop::iterate(Phase phase_arg,
+ enum_part_name_type from_name_arg,
+ enum_part_name_type 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 (needs_processing(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;
+ while ((sub_elem= sub_it++))
{
- 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);
- } while (++j < num_subparts);
+ if (build_names(part_elem, sub_elem))
+ return true;
+ if (process_partition(part_elem, sub_elem))
+ return true;
+ }
}
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;
}
/*
Write the log entry to ensure that the shadow frm file is removed at
crash.
+
SYNOPSIS
write_log_drop_frm()
lpt Struct containing parameters
+ drop_chain Cleanup chain
+ path Location of FRM file
+ cond_entry DDL log conditional entry pos
RETURN VALUES
TRUE Error
FALSE Success
DESCRIPTION
- Prepare an entry to the ddl log indicating a drop/install of the shadow frm
+ Write an entry to the ddl log indicating a drop/install of the frm
file and its corresponding handler file.
*/
-static bool write_log_drop_frm(ALTER_PARTITION_PARAM_TYPE *lpt,
- DDL_LOG_STATE *drop_chain)
+static bool write_log_drop_frm(DDL_LOG_STATE *drop_chain,
+ const char *path, uint cond_entry)
{
- 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);
- if (ddl_log_delete_frm(drop_chain, (const char*)path))
+ if (ddl_log_delete_frm(drop_chain, path))
goto error;
- if (drop_backup && (lpt->alter_info->partition_flags & ALTER_PARTITION_CONVERT_IN))
- {
- TABLE_LIST *table_from= lpt->table_list->next_local;
- build_table_filename(path, sizeof(path) - 1, table_from->db.str,
- table_from->table_name.str, "", 0);
-
- if (ddl_log_delete_frm(drop_chain, (const char*) path))
- goto error;
- }
-
- if (ddl_log_write_execute_entry(drop_chain->list->entry_pos,
- drop_backup ?
- main_chain->execute_entry->entry_pos : 0,
+ if (ddl_log_write_execute_entry(drop_chain->list->entry_pos, cond_entry,
&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));
@@ -6714,361 +6764,90 @@ 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;
+ build_table_shadow_filename(path, sizeof(path) - 1, lpt);
-error:
- mysql_mutex_unlock(&LOCK_gdl);
- part_info->main_entry= NULL;
- my_error(ER_DDL_LOG_ERROR, MYF(0));
- return true;
+ bool res= write_log_drop_frm(&lpt->rollback_chain, path, 0);
+ return res;
}
-/*
- 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)
+static inline
+bool write_log_drop_backup_frm(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);
+ build_table_shadow_filename(path, sizeof(path) - 1, lpt, "backup");
-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);
+ return write_log_drop_frm(&lpt->cleanup_chain, path,
+ lpt->rollback_chain.execute_entry->entry_pos);
}
/*
- 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.
+ Log drop of source table FRM for CONVERT IN
*/
-
-static bool write_log_final_change_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
+static inline
+bool write_log_drop_converted_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;
- 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");
+ TABLE_LIST *table_from= lpt->table_list->next_local;
+ build_table_filename(path, sizeof(path) - 1, table_from->db.str,
+ table_from->table_name.str, "", 0);
- 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;
+ return write_log_drop_frm(&lpt->cleanup_chain, path,
+ lpt->rollback_chain.execute_entry->entry_pos);
}
/*
- 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)
-{
- 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;
-}
-
+ Close tables, prepare for reopening under LOCK TABLES.
-/*
- Final part of partition changes to handle things when 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;
}
@@ -7113,197 +6892,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
@@ -7342,8 +6930,6 @@ bool backup_log_alter_partition(ALTER_PARTITION_PARAM_TYPE *lpt)
}
-extern bool alter_partition_convert_in(ALTER_PARTITION_PARAM_TYPE *lpt);
-
/**
Check that definition of source table fits definition of partition being
added and every row stored in the table conforms partition's expression.
@@ -7401,6 +6987,24 @@ 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.
@@ -7408,10 +7012,9 @@ static bool check_table_data(ALTER_PARTITION_PARAM_TYPE *lpt)
@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
@@ -7428,25 +7031,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;
@@ -7462,71 +7050,24 @@ 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;
+ DBUG_ASSERT(sizeof(lpt->path) >= table->s->normalized_path.length + 1);
+ memcpy(lpt->path, table->s->normalized_path.str,
+ table->s->normalized_path.length + 1);
+
+ 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 &&
- !(alter_info->partition_flags & ALTER_PARTITION_AUTO_HIST))
- {
- /*
- 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, true))
- {
- goto err;
- }
- }
- else if (alter_info->partition_flags & ALTER_PARTITION_DROP)
+ if (alter_info->partition_flags & ALTER_PARTITION_DROP)
{
+ Alter_partition_drop action_drop(lpt);
+
/*
Now after all checks and setting state on dropped partitions we can
start the actual dropping of the partitions.
@@ -7550,7 +7091,10 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
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
+ DDL logging is done in rollback_chain that restores old table before
+ binlogging is done. Otherwise cleanup_chain is used to drop backups.
+
+ 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
@@ -7563,13 +7107,14 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
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
+ 5) Rename to backups logged by restoring from backups
+ 6) Log drop of backup FRM
+ 7) Log restore from backup FRM
+ 8) Backup old FRM file, install the new frm file
+ 9) Old place for binary logging
+ 10) Drop backups, remove entries from ddl log
+ 11) Reopen table if under lock tables
+ 12) 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
@@ -7580,47 +7125,37 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
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
+ 13) Complete query
We insert Error injections at all places where it could be interesting
to test if recovery is properly done.
*/
+
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) ||
- backup_log_alter_partition(lpt) ||
- (frm_install= FALSE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_LOG_RESTORE) ||
ERROR_INJECT("drop_partition_7") ||
- mysql_drop_partitions(lpt) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_AND_INSTALL) ||
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;
- }
+ backup_log_alter_partition(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);
+ /* Create FRM for table converted from partition, log-protected by dropping FRM */
if (mysql_write_frm(lpt, WFRM_WRITE_CONVERTED_TO) ||
ERROR_INJECT("convert_partition_1") ||
write_log_drop_shadow_frm(lpt) ||
@@ -7629,43 +7164,26 @@ 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") ||
+ /* Rename partition file to table file, log-protected by reverse rename */
+ 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_INSTALL_SHADOW|WFRM_BACKUP_ORIGINAL) ||
- backup_log_alter_partition(lpt) ||
+ mysql_write_frm(lpt, WFRM_LOG_RESTORE) ||
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;
- }
+ mysql_write_frm(lpt, WFRM_BACKUP_AND_INSTALL) ||
+ ERROR_INJECT("convert_partition_9") ||
+ backup_log_alter_partition(lpt) ||
+ 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) ||
@@ -7675,44 +7193,36 @@ 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) ||
+ /* Rename table file to partition file, log-protected by reverse rename */
+ 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) ||
+ write_log_drop_converted_frm(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;
+ mysql_write_frm(lpt, WFRM_LOG_RESTORE) ||
+ ERROR_INJECT("convert_partition_9") ||
+ mysql_write_frm(lpt, WFRM_BACKUP_AND_INSTALL) ||
+ ERROR_INJECT("convert_partition_10") ||
+ backup_log_alter_partition(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 */
/*
TODO: would be good if adding new empty VERSIONING partitions would always
go this way, auto or not.
@@ -7723,6 +7233,8 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
alter_info->partition_flags & ALTER_PARTITION_AUTO_HIST))
{
DBUG_ASSERT(!(alter_info->partition_flags & ALTER_PARTITION_CONVERT_IN));
+ Alter_partition_add action_add(lpt);
+
/*
ADD RANGE/LIST PARTITIONS
In this case there are no tuples removed and no tuples are added.
@@ -7732,68 +7244,56 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
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
+ 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
+ 3) Add the new partitions logged by dropping them
+ 4) Close all instances of the table and remove them from the table cache.
+ 5) Log drop of backup FRM
+ 6) Log restore from backup FRM
+ 7) Backup old FRM file, install the new frm file
+ 8) Old place for write binlog
+ 9) Drop backups, remove entries from ddl log
+ 10) Reopen tables if under lock tables
+ 11) Write to binlog
+ 12) Complete query
*/
+
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, false) ||
- 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_LOG_RESTORE) ||
ERROR_INJECT("add_partition_7") ||
- write_log_rename_frm(lpt) ||
- (action_completed= TRUE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_AND_INSTALL) ||
ERROR_INJECT("add_partition_8") ||
- (frm_install= TRUE, FALSE) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW) ||
backup_log_alter_partition(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 / COALESCE / REBUILD / REORGANIZE */
+ Alter_partition_change action_change(lpt);
+
/*
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
@@ -7821,71 +7321,81 @@ uint fast_alter_partition_table(THD *thd, TABLE *table,
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.
+ 2) Log remove and add the new partitions, copy data.
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.
+ 6) Rename to backups and rename added parts, both preliminarily logged by
+ reverse operation.
+ 5) Log drop of backup FRM
+ 6) Log restore from backup FRM
+ 7) Backup old FRM file, install the new frm file
+ 8) Old place for write bin log.
+ 9) Drop backups, remove entries from ddl log
+ 10) Reopen the table if under lock tables.
+ 11) Write to binlog
+ 12) Complete query
*/
+
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, true) ||
+ 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_LOG_RESTORE) ||
ERROR_INJECT("change_partition_8") ||
- ((frm_install= TRUE), FALSE) ||
- mysql_write_frm(lpt, WFRM_INSTALL_SHADOW) ||
- backup_log_alter_partition(lpt) ||
- (frm_install= FALSE, FALSE) ||
+ mysql_write_frm(lpt, WFRM_BACKUP_AND_INSTALL) ||
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;
+ backup_log_alter_partition(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 &&
+ (ERROR_INJECT("done_partition_3") ||
+ thd->locked_tables_list.reopen_tables(thd, false)))
+ {
+ thd->locked_tables_list.unlink_all_closed_tables(thd, NULL, 0);
+ goto err;
}
+
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:
+ DBUG_ASSERT(thd->is_error());
+ 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 &&
+ thd->locked_tables_list.reopen_tables(thd, false))
+ thd->locked_tables_list.unlink_all_closed_tables(thd, NULL, 0);
+
err:
thd->variables.option_bits= save_option_bits;
downgrade_mdl_if_lock_tables_mode(thd, mdl_ticket, MDL_SHARED_NO_READ_WRITE);
@@ -9105,11 +8615,15 @@ 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,
+int create_partition_name(LEX_CSTRING *out_str, const char *in1,
const char *in2, uint name_variant, bool translate)
{
+ char *out= const_cast<char *>(out_str->str);
+ size_t outlen= out_str->length;
char transl_part_name[FN_REFLEN];
const char *transl_part, *end;
DBUG_ASSERT(outlen >= FN_REFLEN + 1); // consistency! same limit everywhere
@@ -9131,7 +8645,8 @@ int create_partition_name(char *out, size_t outlen, const char *in1,
DBUG_ASSERT(name_variant == RENAMED_PART_NAME);
end= strxnmov(out, outlen-1, in1, "#P#", transl_part, "#REN#", NullS);
}
- if (end - out == static_cast<ptrdiff_t>(outlen-1))
+ out_str->length= end - out;
+ if (out_str->length == outlen - 1)
{
my_error(ER_PATH_LENGTH, MYF(0), longest_str(in1, transl_part));
return HA_WRONG_CREATE_OPTION;
@@ -9139,6 +8654,15 @@ int create_partition_name(char *out, size_t outlen, const char *in1,
return 0;
}
+
+int create_partition_name(char *out, size_t outlen, const char *in1,
+ const char *in2, uint name_variant, bool translate)
+{
+ LEX_CSTRING out_str= { out, outlen };
+ return create_partition_name(&out_str, in1, in2, name_variant, translate);
+}
+
+
/**
Create subpartition name. This method is used to calculate the
subpartition name, service routine to the del_ren_cre_table method.
@@ -9154,10 +8678,12 @@ int create_partition_name(char *out, size_t outlen, const char *in1,
@retval false Success.
*/
-int create_subpartition_name(char *out, size_t outlen,
+int create_subpartition_name(LEX_CSTRING *out_str,
const char *in1, const char *in2,
const char *in3, uint name_variant)
{
+ char *out= const_cast<char *>(out_str->str);
+ size_t outlen= out_str->length;
char transl_part_name[FN_REFLEN], transl_subpart_name[FN_REFLEN], *end;
DBUG_ASSERT(outlen >= FN_REFLEN + 1); // consistency! same limit everywhere
@@ -9176,7 +8702,8 @@ int create_subpartition_name(char *out, size_t outlen,
end= strxnmov(out, outlen-1, in1, "#P#", transl_part_name,
"#SP#", transl_subpart_name, "#REN#", NullS);
}
- if (end - out == static_cast<ptrdiff_t>(outlen-1))
+ out_str->length= end - out;
+ if (out_str->length == outlen - 1)
{
my_error(ER_PATH_LENGTH, MYF(0),
longest_str(in1, transl_part_name, transl_subpart_name));
@@ -9185,6 +8712,16 @@ int create_subpartition_name(char *out, size_t outlen,
return 0;
}
+
+int create_subpartition_name(char *out, size_t outlen,
+ const char *in1, const char *in2,
+ const char *in3, uint name_variant)
+{
+ LEX_CSTRING out_str= { out, outlen };
+ return create_subpartition_name(&out_str, in1, in2, in3, name_variant);
+}
+
+
uint get_partition_field_store_length(Field *field)
{
uint store_length;
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index a90eaae0bae..a0326afcead 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;
@@ -43,9 +44,12 @@ typedef struct st_key_range key_range;
#define HA_USE_AUTO_PARTITION (1 << 3)
#define HA_ONLY_VERS_PARTITION (1 << 4)
-#define NORMAL_PART_NAME 0
-#define TEMP_PART_NAME 1
-#define RENAMED_PART_NAME 2
+enum enum_part_name_type {
+ NORMAL_PART_NAME= 0,
+ TEMP_PART_NAME,
+ RENAMED_PART_NAME,
+ SKIP_PART_NAME= 255
+};
typedef struct st_lock_param_type
{
@@ -67,6 +71,14 @@ typedef struct st_lock_param_type
size_t pack_frm_len;
// 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;
+ char path[FN_REFLEN + 1];
+
+ st_lock_param_type()
+ {
+ bzero(this, sizeof(*this));
+ }
} ALTER_PARTITION_PARAM_TYPE;
typedef struct {
@@ -284,19 +296,20 @@ bool compare_table_with_partition(THD *thd, TABLE *table,
partition_element *part_elem,
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);
-
#else
#define partition_key_modified(X,Y) 0
#endif
int __attribute__((warn_unused_result))
+ create_partition_name(LEX_CSTRING *out, const char *in1, const char
+ *in2, uint name_variant, bool translate);
+int __attribute__((warn_unused_result))
create_partition_name(char *out, size_t outlen, const char *in1, const char
*in2, uint name_variant, bool translate);
int __attribute__((warn_unused_result))
+ create_subpartition_name(LEX_CSTRING *out, const char *in1, const
+ char *in2, const char *in3, uint name_variant);
+int __attribute__((warn_unused_result))
create_subpartition_name(char *out, size_t outlen, const char *in1, const
char *in2, const char *in3, uint name_variant);
diff --git a/sql/sql_partition_admin.cc b/sql/sql_partition_admin.cc
index e0d40337d93..b6b913eb1c4 100644
--- a/sql/sql_partition_admin.cc
+++ b/sql/sql_partition_admin.cc
@@ -398,7 +398,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(););
@@ -432,7 +432,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(););
@@ -721,13 +721,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;
@@ -755,6 +748,12 @@ bool Sql_cmd_alter_table_exchange_partition::
err:
if (thd->locked_tables_mode)
{
+ /*
+ 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 (swap_table_mdl_ticket)
swap_table_mdl_ticket->downgrade_lock(MDL_SHARED_NO_READ_WRITE);
if (part_table_mdl_ticket)
@@ -1001,53 +1000,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 4989bcb18ba..5e173129fed 100644
--- a/sql/sql_rename.cc
+++ b/sql/sql_rename.cc
@@ -199,8 +199,13 @@ 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);
+ /*
+ Revert the renames of normal tables with the help of the ddl log
+
+ report_error set to false is important here as revert of multi-rename
+ must continue even if something fails (tested by innodb.rename_table).
+ */
+ (void) ddl_log_revert(thd, &ddl_log_state, false);
}
err:
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 11d71cc972d..9806bf001b8 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -683,12 +683,11 @@ void build_lower_case_table_filename(char *buff, size_t bufflen,
uint build_table_shadow_filename(char *buff, size_t bufflen,
ALTER_PARTITION_PARAM_TYPE *lpt,
- bool backup)
+ const char *infix)
{
char tmp_name[FN_REFLEN];
my_snprintf(tmp_name, sizeof (tmp_name), "%s-%s-%lx-%s", tmp_file_prefix,
- backup ? "backup" : "shadow",
- (ulong) current_thd->thread_id, lpt->table_name.str);
+ infix, (ulong) current_thd->thread_id, lpt->table_name.str);
return build_table_filename(buff, bufflen, lpt->db.str, tmp_name, "",
FN_IS_TMP);
}
@@ -721,6 +720,7 @@ uint build_table_shadow_filename(char *buff, size_t bufflen,
TODO: Partitioning atomic DDL refactoring: WFRM_WRITE_SHADOW
should be merged with create_table_impl(frm_only == true).
*/
+#ifdef WITH_PARTITION_STORAGE_ENGINE
bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
{
/*
@@ -729,17 +729,16 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
We set tmp_table to avoid get errors on naming of primary key index.
*/
int error= 0;
- char path[FN_REFLEN+1];
+ const char *path= lpt->path;
char shadow_path[FN_REFLEN+1];
char shadow_frm_name[FN_REFLEN+1];
char frm_name[FN_REFLEN+1];
-#ifdef WITH_PARTITION_STORAGE_ENGINE
char bak_path[FN_REFLEN+1];
char bak_frm_name[FN_REFLEN+1];
char *part_syntax_buf;
uint syntax_len;
partition_info *part_info= lpt->part_info;
-#endif
+ DDL_LOG_STATE *rollback_chain= &lpt->rollback_chain;
DBUG_ENTER("mysql_write_frm");
/*
@@ -756,7 +755,6 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
{
DBUG_RETURN(TRUE);
}
-#ifdef WITH_PARTITION_STORAGE_ENGINE
{
partition_info *part_info= lpt->table->part_info;
if (part_info)
@@ -769,7 +767,6 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
part_info->part_info_len= syntax_len;
}
}
-#endif
/* Write shadow frm file */
lpt->create_info->table_options= lpt->db_options;
LEX_CUSTRING frm= build_frm_image(lpt->thd, lpt->table_name,
@@ -797,7 +794,6 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
goto end;
}
}
-#ifdef WITH_PARTITION_STORAGE_ENGINE
if (flags & WFRM_WRITE_CONVERTED_TO)
{
THD *thd= lpt->thd;
@@ -818,7 +814,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);
@@ -838,15 +834,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);
@@ -854,47 +855,34 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
DBUG_RETURN(false);
}
- if (flags & WFRM_BACKUP_ORIGINAL)
+ if (flags & WFRM_LOG_RESTORE)
{
- build_table_filename(path, sizeof(path) - 1, lpt->db.str,
- lpt->table_name.str, "", 0);
strxnmov(frm_name, sizeof(frm_name), path, reg_ext, NullS);
- build_table_shadow_filename(bak_path, sizeof(bak_path) - 1, lpt, true);
+ build_table_shadow_filename(bak_path, sizeof(bak_path) - 1, lpt, "backup");
strxmov(bak_frm_name, bak_path, reg_ext, NullS);
- DDL_LOG_MEMORY_ENTRY *main_entry= part_info->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;
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,
CHF_RENAME_FLAG))
DBUG_RETURN(TRUE);
}
-#else /* !WITH_PARTITION_STORAGE_ENGINE */
- DBUG_ASSERT(!(flags & WFRM_BACKUP_ORIGINAL));
-#endif /* !WITH_PARTITION_STORAGE_ENGINE */
- if (flags & WFRM_INSTALL_SHADOW)
+ if (flags & WFRM_BACKUP_AND_INSTALL)
{
-#ifdef WITH_PARTITION_STORAGE_ENGINE
- partition_info *part_info= lpt->part_info;
-#endif
/*
Build frm file name
*/
- build_table_filename(path, sizeof(path) - 1, lpt->db.str,
- lpt->table_name.str, "", 0);
strxnmov(frm_name, sizeof(frm_name), path, reg_ext, NullS);
/*
When we are changing to use new frm file we need to ensure that we
@@ -906,42 +894,20 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
completing this we write a new phase to the log entry that will
deactivate it.
*/
- if (!(flags & WFRM_BACKUP_ORIGINAL) && (
- mysql_file_delete(key_file_frm, frm_name, MYF(MY_WME))
-#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_sync(), FALSE)
-#endif
- ))
- {
- error= 1;
- goto err;
- }
if (mysql_file_rename(key_file_frm, shadow_frm_name, frm_name, MYF(MY_WME))
-#ifdef WITH_PARTITION_STORAGE_ENGINE
|| lpt->table->file->ha_create_partitioning_metadata(path, shadow_path,
CHF_RENAME_FLAG)
-#endif
)
{
error= 1;
- goto err;
+ goto end;
}
-
-err:
-#ifdef WITH_PARTITION_STORAGE_ENGINE
- ddl_log_increment_phase(part_info->main_entry->entry_pos);
- part_info->main_entry= NULL;
- (void) ddl_log_sync();
-#endif
- ;
}
end:
DBUG_RETURN(error);
}
+#endif /* WITH_PARTITION_STORAGE_ENGINE */
/*
@@ -4403,7 +4369,8 @@ bool HA_CREATE_INFO::finalize_atomic_replace(THD *thd, TABLE_LIST *orig_table)
Cleanup chain (ddl_log_state_rm) will not be executed unless
rollback chain (ddl_log_state_create) is active.
*/
- ddl_log_link_chains(ddl_log_state_rm, ddl_log_state_create);
+ if (ddl_log_link_chains(ddl_log_state_rm, ddl_log_state_create))
+ return true;
cpath.length= build_table_filename(path, sizeof(path) - 1,
backup_name.db.str,
@@ -4550,7 +4517,7 @@ void HA_CREATE_INFO::finalize_ddl(THD *thd, bool roll_back)
debug_crash_here("ddl_log_create_fk_fail2");
ulonglong option_bits_save= thd->variables.option_bits;
thd->variables.option_bits|= OPTION_NO_FOREIGN_KEY_CHECKS;
- (void) ddl_log_revert(thd, ddl_log_state_create);
+ (void) ddl_log_revert(thd, ddl_log_state_create, true);
thd->variables.option_bits= option_bits_save;
debug_crash_here("ddl_log_create_fk_fail3");
}
@@ -4565,7 +4532,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");
@@ -11980,7 +11947,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");
/*
@@ -11997,9 +11964,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");
@@ -12008,19 +11975,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);
@@ -12377,7 +12354,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 7206c54ab70..7877e382918 100644
--- a/sql/sql_table.h
+++ b/sql/sql_table.h
@@ -18,12 +18,36 @@
#define SQL_TABLE_INCLUDED
#include <my_sys.h> // pthread_mutex_t
+#include "mysqld_error.h"
#include "m_string.h" // LEX_CUSTRING
#include "lex_charset.h"
-#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;
@@ -57,10 +81,14 @@ enum enum_explain_filename_mode
/* depends on errmsg.txt Database `db`, Table `t` ... */
#define EXPLAIN_FILENAME_MAX_EXTRA_LENGTH 63
+/* Shadow FRM is new table FRM prepared by ALTER TABLE */
#define WFRM_WRITE_SHADOW 1
-#define WFRM_INSTALL_SHADOW 2
-#define WFRM_WRITE_CONVERTED_TO 4
-#define WFRM_BACKUP_ORIGINAL 8
+/* Backup original FRM and install shadow FRM */
+#define WFRM_BACKUP_AND_INSTALL 2
+/* Create FRM for table produced by CONVERT OUT */
+#define WFRM_WRITE_CONVERTED_TO 8
+/* Restore original FRM */
+#define WFRM_LOG_RESTORE 16
/* Flags for conversion functions. */
static const uint FN_FROM_IS_TMP= 1 << 0;
@@ -86,7 +114,7 @@ uint build_table_filename(char *buff, size_t bufflen, const char *db,
const char *table, const char *ext, uint flags);
uint build_table_shadow_filename(char *buff, size_t bufflen,
ALTER_PARTITION_PARAM_TYPE *lpt,
- bool backup= false);
+ const char *infix= "shadow");
void build_lower_case_table_filename(char *buff, size_t bufflen,
const LEX_CSTRING *db,
const LEX_CSTRING *table,
@@ -123,8 +151,8 @@ bool mysql_prepare_alter_table(THD *thd, TABLE *table,
Table_specification_st *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,
Table_specification_st *create_info,
@@ -194,7 +222,9 @@ bool quick_rm_table(THD *thd, handlerton *base, const LEX_CSTRING *db,
const char *table_path=0);
void close_cached_table(THD *thd, TABLE *table);
void sp_prepare_create_field(THD *thd, Column_definition *sql_field);
+#ifdef WITH_PARTITION_STORAGE_ENGINE
bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags);
+#endif
int write_bin_log(THD *thd, bool clear_error,
char const *query, ulong query_length,
bool is_trans= FALSE);
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc
index c7c9c25c01e..f1268bd6939 100644
--- a/sql/sql_trigger.cc
+++ b/sql/sql_trigger.cc
@@ -707,7 +707,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);
@@ -1123,7 +1123,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);
diff --git a/sql/table.cc b/sql/table.cc
index b21c9266257..a3670cbf26b 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -636,7 +636,7 @@ enum open_frm_error open_table_def(THD *thd, TABLE_SHARE *share, uint flags)
DBUG_ASSERT(flags & GTS_USE_DISCOVERY);
/* Delete .frm and .par files */
mysql_file_delete_with_symlink(key_file_frm, path2, reg_ext, MYF(0));
- mysql_file_delete_with_symlink(key_file_partition_ddl_log, path2, PAR_EXT,
+ mysql_file_delete_with_symlink(key_file_ddl_log, path2, PAR_EXT,
MYF(0));
file= -1;
}