summaryrefslogtreecommitdiff
path: root/mysql-test/suite/parts
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/parts')
-rw-r--r--mysql-test/suite/parts/inc/define_points_add.inc21
-rw-r--r--mysql-test/suite/parts/inc/define_points_change.inc33
-rw-r--r--mysql-test/suite/parts/inc/define_points_common.inc4
-rw-r--r--mysql-test/suite/parts/inc/define_points_convin.inc22
-rw-r--r--mysql-test/suite/parts/inc/define_points_convout.inc23
-rw-r--r--mysql-test/suite/parts/inc/define_points_drop.inc20
-rw-r--r--mysql-test/suite/parts/inc/iterate_points_crash.inc13
-rw-r--r--mysql-test/suite/parts/inc/iterate_points_fail.inc13
-rw-r--r--mysql-test/suite/parts/inc/partition_crash.inc79
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_add.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_change.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_drop.inc31
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_exchange.inc18
-rw-r--r--mysql-test/suite/parts/inc/partition_crash_t2.inc12
-rw-r--r--mysql-test/suite/parts/inc/partition_fail.inc94
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_add.inc34
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_change.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_drop.inc31
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_exchange.inc18
-rw-r--r--mysql-test/suite/parts/inc/partition_fail_t2.inc41
-rw-r--r--mysql-test/suite/parts/inc/partition_mgm_crash.combinations2
-rw-r--r--mysql-test/suite/parts/inc/partition_mgm_crash.inc127
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result6548
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_crash.result12789
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result8795
-rw-r--r--mysql-test/suite/parts/r/debug_innodb_fail.result16885
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result8123
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_crash.result14724
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result10232
-rw-r--r--mysql-test/suite/parts/r/debug_myisam_fail.result18627
-rw-r--r--mysql-test/suite/parts/r/partition_debug.result4062
-rw-r--r--mysql-test/suite/parts/r/partition_debug_innodb.result1108
-rw-r--r--mysql-test/suite/parts/t/partition_debug.test114
-rw-r--r--mysql-test/suite/parts/t/partition_debug_innodb.test3
34 files changed, 97220 insertions, 5542 deletions
diff --git a/mysql-test/suite/parts/inc/define_points_add.inc b/mysql-test/suite/parts/inc/define_points_add.inc
new file mode 100644
index 00000000000..a3ff4b29e17
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_add.inc
@@ -0,0 +1,21 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'add_partition_1',
+ 'add_partition_2',
+ 'add_partition_3',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_add',
+ 'add_partition_4',
+ 'add_partition_5',
+ 'add_partition_6',
+ 'add_partition_7',
+ 'add_partition_8';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_add_partition_5,',
+ 'fail_partition_2,fail_add_partition_5,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_change.inc b/mysql-test/suite/parts/inc/define_points_change.inc
new file mode 100644
index 00000000000..f4de36e63bf
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_change.inc
@@ -0,0 +1,33 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'change_partition_1',
+ 'change_partition_2',
+ 'change_partition_3',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_add',
+ 'change_partition_add_parts_1',
+ 'change_partition_add_parts_2',
+ 'change_partition_add_parts_3',
+ 'change_partition_4',
+ 'change_partition_5',
+ 'alter_partition_rename_table',
+ 'alter_partition_rename_to_backup',
+ 'change_partition_rename_parts_1',
+ 'alter_partition_rename_added_part',
+ 'change_partition_rename_parts_2',
+ 'alter_partition_rename_drop_backup',
+ 'change_partition_6',
+ 'change_partition_7',
+ 'change_partition_8',
+ 'change_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_change_partition_5,',
+ 'fail_partition_2,fail_change_partition_5,',
+ 'fail_partition_1,fail_change_partition_6,',
+ 'fail_partition_2,fail_change_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_common.inc b/mysql-test/suite/parts/inc/define_points_common.inc
new file mode 100644
index 00000000000..1e7e1f885bf
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_common.inc
@@ -0,0 +1,4 @@
+let $fail_points= 'alter_partition_binlog_1', 'alter_partition_binlog_2';
+let $crash_points= $fail_points,
+ 'done_partition_1',
+ 'done_partition_2';
diff --git a/mysql-test/suite/parts/inc/define_points_convin.inc b/mysql-test/suite/parts/inc/define_points_convin.inc
new file mode 100644
index 00000000000..37de20eadcb
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_convin.inc
@@ -0,0 +1,22 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 CONVERT TABLE .. TO PARTITION ..
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'convert_partition_1',
+ 'convert_partition_2',
+ 'convert_partition_3',
+ 'convert_partition_4',
+ 'convert_partition_5',
+ 'alter_partition_alloc_parts',
+ 'alter_partition_rename_table',
+ 'convert_partition_6',
+ 'convert_partition_7',
+ 'convert_partition_8',
+ 'convert_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_convert_partition_6,',
+ 'fail_partition_2,fail_convert_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_convout.inc b/mysql-test/suite/parts/inc/define_points_convout.inc
new file mode 100644
index 00000000000..fdda1406715
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_convout.inc
@@ -0,0 +1,23 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 CONVERT PARTITION .. TO TABLE ..
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'create_before_create_frm',
+ 'alter_partition_after_write_frm',
+ 'convert_partition_1',
+ 'convert_partition_2',
+ 'convert_partition_3',
+ 'convert_partition_4',
+ 'convert_partition_5',
+ 'alter_partition_rename_table',
+ 'convert_partition_6',
+ 'convert_partition_7',
+ 'convert_partition_8',
+ 'convert_partition_9';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_convert_partition_6,',
+ 'fail_partition_2,fail_convert_partition_6,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/define_points_drop.inc b/mysql-test/suite/parts/inc/define_points_drop.inc
new file mode 100644
index 00000000000..fb021b6b492
--- /dev/null
+++ b/mysql-test/suite/parts/inc/define_points_drop.inc
@@ -0,0 +1,20 @@
+# To be used with partition mgm commands like
+# ALTER TABLE t1 DROP PARTITION
+
+--source suite/parts/inc/define_points_common.inc
+
+let $points= 'drop_partition_1',
+ 'drop_partition_2',
+ 'drop_partition_3',
+ 'drop_partition_4',
+ 'drop_partition_5',
+ 'alter_partition_rename_table',
+ 'drop_partition_6',
+ 'drop_partition_7',
+ 'drop_partition_8';
+
+let $fail_points= $points, $fail_points, 'EOF';
+let $crash_points= $points, $crash_points,
+ 'fail_partition_1,fail_drop_partition_5,',
+ 'fail_partition_2,fail_drop_partition_5,',
+ 'EOF';
diff --git a/mysql-test/suite/parts/inc/iterate_points_crash.inc b/mysql-test/suite/parts/inc/iterate_points_crash.inc
new file mode 100644
index 00000000000..7495fb19b25
--- /dev/null
+++ b/mysql-test/suite/parts/inc/iterate_points_crash.inc
@@ -0,0 +1,13 @@
+let $point_count=`select field('EOF', $crash_points)`;
+let $p= 1;
+--echo # Iterating $point_count crash-points
+set @save_dbug= @@debug_dbug;
+while ($p < $point_count)
+{
+ let $point= `select concat('crash_', elt($p, $crash_points))`;
+ --echo # Crash-point $p: $point
+ eval set @@debug_dbug= "+d,$point";
+ --source suite/parts/inc/partition_crash.inc
+ set @@debug_dbug= @save_dbug;
+ inc $p;
+}
diff --git a/mysql-test/suite/parts/inc/iterate_points_fail.inc b/mysql-test/suite/parts/inc/iterate_points_fail.inc
new file mode 100644
index 00000000000..51e8d430313
--- /dev/null
+++ b/mysql-test/suite/parts/inc/iterate_points_fail.inc
@@ -0,0 +1,13 @@
+let $point_count=`select field('EOF', $fail_points)`;
+let $p= 1;
+--echo # Iterating $point_count fail-points
+set @save_dbug= @@debug_dbug;
+while ($p < $point_count)
+{
+ let $point= `select concat('fail_', elt($p, $fail_points))`;
+ --echo # Fail-point $p: $point
+ eval set @@debug_dbug= "+d,$point";
+ --source suite/parts/inc/partition_fail.inc
+ set @@debug_dbug= @save_dbug;
+ inc $p;
+}
diff --git a/mysql-test/suite/parts/inc/partition_crash.inc b/mysql-test/suite/parts/inc/partition_crash.inc
index c657ba880c9..0e5e7353812 100644
--- a/mysql-test/suite/parts/inc/partition_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_crash.inc
@@ -1,8 +1,26 @@
# Include file to decrease test code duplication
+let $log_bin= `select @@global.log_bin`;
+if ($log_bin)
+{
+ let $keep_include_silent= 1;
+ let $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+ RESET MASTER;
+}
+
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
---echo # State before crash
+--let $dbug_flag= `select @@session.debug_dbug`
+--echo # $dbug_flag: BEFORE crash
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
@@ -11,12 +29,33 @@
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--disable_query_log
+connect (con_backup,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+--enable_query_log
+
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--disable_reconnect
+let $errno= 0;
# CR_SERVER_LOST
---error 2013
+--error 0, 2013
--eval $crash_statement
---echo # State after crash (before recovery)
+let $error= $errno;
+
+--echo # $dbug_flag: AFTER crash
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP# #tmp# #TMP#
--replace_regex /sql-exchange.*\./sql-exchange./ /sql-shadow-[0-9a-f]*-/sql-shadow-/
@@ -25,7 +64,8 @@ SELECT * FROM t1;
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--enable_reconnect
--source include/wait_until_connected_again.inc
---echo # State after crash recovery
+
+--echo # $dbug_flag: AFTER recovery
--list_files_write_file $DATADIR.files.txt $DATADIR/test
--replace_result #p# #P# #sp# #SP#
--cat_file $DATADIR.files.txt
@@ -33,4 +73,35 @@ SELECT * FROM t1;
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--source include/print_ddl_log.inc
+--disable_query_log
+if ($error == 0)
+{
+ --connection con_backup
+ backup stage end;
+ --connection default
+}
+--disconnect con_backup
+--enable_query_log
+
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
diff --git a/mysql-test/suite/parts/inc/partition_crash_add.inc b/mysql-test/suite/parts/inc/partition_crash_add.inc
deleted file mode 100644
index 43b0c5c88bd..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_add.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
---echo # Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_change.inc b/mysql-test/suite/parts/inc/partition_crash_change.inc
deleted file mode 100644
index 501bc78a22d..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_change.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
---echo # Test change partition (REORGANIZE/REBUILD/COALESCE
---echo # or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_drop.inc b/mysql-test/suite/parts/inc/partition_crash_drop.inc
deleted file mode 100644
index 80730bb9008..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_drop.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 DROP PARTITION.
---echo # Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
---source suite/parts/inc/partition_crash.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_exchange.inc b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
index 32b888707eb..1878d6dd85b 100644
--- a/mysql-test/suite/parts/inc/partition_crash_exchange.inc
+++ b/mysql-test/suite/parts/inc/partition_crash_exchange.inc
@@ -1,30 +1,30 @@
# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
---source suite/parts/inc/partition_crash_t2.inc
+--source suite/parts/inc/partition_crash.inc
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_crash_t2.inc b/mysql-test/suite/parts/inc/partition_crash_t2.inc
deleted file mode 100644
index fd88cc60a8d..00000000000
--- a/mysql-test/suite/parts/inc/partition_crash_t2.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-# Include file to extend partition_crash with a second table.
-# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
---eval $create_statement2
---eval $insert_statement2
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
---source suite/parts/inc/partition_crash.inc
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
-DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_fail.inc b/mysql-test/suite/parts/inc/partition_fail.inc
index bbe5924e358..0c6a42a8292 100644
--- a/mysql-test/suite/parts/inc/partition_fail.inc
+++ b/mysql-test/suite/parts/inc/partition_fail.inc
@@ -1,5 +1,22 @@
# Include file to decrease test code duplication
+let $log_bin= `select @@global.log_bin`;
+if ($log_bin)
+{
+ RESET MASTER;
+ let $keep_include_silent= 1;
+ let $grep_script= ALTER;
+ let $binlog_file=master-bin.000001;
+}
+
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
--let $dbug_flag= `select @@session.debug_dbug`
@@ -11,16 +28,64 @@ SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
--disable_abort_on_error
+
+--disable_query_log
+connect (con_backup,localhost,root,,);
+BACKUP STAGE START;
+connection default;
+--enable_query_log
+
--eval $fail_statement
--enable_abort_on_error
--echo # $dbug_flag: AFTER failure
+show warnings;
--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_NO_SUCH_TABLE
+ --eval $select_statement
+}
+
+--source include/print_ddl_log.inc
+--disable_query_log
+--connection con_backup
+backup stage end;
+--connection default
+--disconnect con_backup
+--enable_query_log
+
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
+if ($log_bin)
+{
+ RESET MASTER;
+}
+if ($create_statement2)
+{
+ --eval $create_statement2
+}
+if ($insert_statement2)
+{
+ --eval $insert_statement2
+}
--eval $create_statement
--eval $insert_statement
--echo # $dbug_flag: BEFORE failure (under LOCK TABLE)
@@ -29,15 +94,42 @@ DROP TABLE t1;
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
-LOCK TABLE t1 WRITE;
+if (!$create_statement2)
+{
+ LOCK TABLE t1 WRITE;
+}
+if ($create_statement2)
+{
+ LOCK TABLES t1 WRITE, t2 WRITE;
+}
--disable_abort_on_error
--eval $fail_statement
--enable_abort_on_error
--echo # $dbug_flag: AFTER failure (under LOCK TABLE)
+show warnings;
--replace_result #p# #P# #sp# #SP#
--list_files $DATADIR/test
SHOW CREATE TABLE t1;
--sorted_result
SELECT * FROM t1;
+if ($show_statement)
+{
+ --error 0,ER_TABLE_NOT_LOCKED
+ --eval $show_statement
+}
+if ($select_statement)
+{
+ --sorted_result
+ --error 0,ER_TABLE_NOT_LOCKED
+ --eval $select_statement
+}
+if ($log_bin)
+{
+ --source include/show_binlog_events.inc
+}
UNLOCK TABLES;
DROP TABLE t1;
+if ($drop_statement)
+{
+ --eval $drop_statement
+}
diff --git a/mysql-test/suite/parts/inc/partition_fail_add.inc b/mysql-test/suite/parts/inc/partition_fail_add.inc
deleted file mode 100644
index a7b8dd8aeb4..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_add.inc
+++ /dev/null
@@ -1,34 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 ADD PARTITION (LIST/RANGE PARTITIONING).
---echo # Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_change.inc b/mysql-test/suite/parts/inc/partition_fail_change.inc
deleted file mode 100644
index c10d5fecc2e..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_change.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 COALESCE/REBUILD/REORGANIZE PARTITION.
---echo # Error recovery change partition (REORGANIZE/REBUILD/COALESCE
---echo # or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_drop.inc b/mysql-test/suite/parts/inc/partition_fail_drop.inc
deleted file mode 100644
index df1d28b0bf9..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_drop.inc
+++ /dev/null
@@ -1,31 +0,0 @@
-# To be used with partition mgm commands like
-# ALTER TABLE t1 DROP PARTITION.
---echo # Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
---source suite/parts/inc/partition_fail.inc
-SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_exchange.inc b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
index 33d7bbd1d75..8eed97fe8dc 100644
--- a/mysql-test/suite/parts/inc/partition_fail_exchange.inc
+++ b/mysql-test/suite/parts/inc/partition_fail_exchange.inc
@@ -1,28 +1,28 @@
SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_1";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_2";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_3";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_4";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_5";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_6";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_7";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_8";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_9";
---source suite/parts/inc/partition_fail_t2.inc
+--source suite/parts/inc/partition_fail.inc
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/inc/partition_fail_t2.inc b/mysql-test/suite/parts/inc/partition_fail_t2.inc
deleted file mode 100644
index 301fb005255..00000000000
--- a/mysql-test/suite/parts/inc/partition_fail_t2.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# Include file to test failure with error injection.
-# To be used with WL#4445: EXCHANGE PARTITION WITH TABLE.
---eval $create_statement2
---eval $insert_statement2
---eval $create_statement
---eval $insert_statement
---let $dbug_flag= `select @@session.debug_dbug`
---echo # $dbug_flag: BEFORE failure
---replace_result #p# #P#
-if (!$DATADIR)
-{
- --let $DATADIR= `SELECT @@datadir;`
-}
---list_files $DATADIR/test
-SHOW CREATE TABLE t1;
---sorted_result
-SELECT * FROM t1;
-SHOW CREATE TABLE t2;
---sorted_result
-SELECT * FROM t2;
-# accept all errors
---disable_abort_on_error
---replace_regex /#sql-exchange-[0-9a-f_\-]*/#sql-exchange/i
---eval $fail_statement
---enable_abort_on_error
---echo # $dbug_flag: AFTER failure
---replace_result #p# #P#
---list_files $DATADIR/test
-SHOW CREATE TABLE t1;
---sorted_result
-SELECT * FROM t1;
-DROP TABLE t1;
---error 0, ER_NO_SUCH_TABLE
-SHOW CREATE TABLE t2;
---sorted_result
---error 0, ER_NO_SUCH_TABLE
-SELECT * FROM t2;
-# TODO: everything fails with ER_NO_SUCH_TABLE
-# but DROP TABLE fails with ER_BAD_TABLE_ERROR! Why?
---error 0, ER_BAD_TABLE_ERROR
-DROP TABLE t2;
diff --git a/mysql-test/suite/parts/inc/partition_mgm_crash.combinations b/mysql-test/suite/parts/inc/partition_mgm_crash.combinations
new file mode 100644
index 00000000000..17140d0e54d
--- /dev/null
+++ b/mysql-test/suite/parts/inc/partition_mgm_crash.combinations
@@ -0,0 +1,2 @@
+[partition]
+[subpartition]
diff --git a/mysql-test/suite/parts/inc/partition_mgm_crash.inc b/mysql-test/suite/parts/inc/partition_mgm_crash.inc
index 6607d5cd611..901b77546c8 100644
--- a/mysql-test/suite/parts/inc/partition_mgm_crash.inc
+++ b/mysql-test/suite/parts/inc/partition_mgm_crash.inc
@@ -2,6 +2,8 @@
# also using error injection to test recovery of failures.
# uses $DATADIR and $engine
+--source include/have_binlog_format_statement.inc
+
--echo #
--echo # Bug#53676: Unexpected errors and possible table corruption on
--echo # ADD PARTITION and LOCK TABLE
@@ -9,44 +11,137 @@
--echo # after timed out COALESCE PARTITION
--echo # Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
+let $subpartitioning= ;
+if ($MTR_COMBINATION_SUBPARTITION)
+{
+ # `select()` is used just to put space in front of string...
+ let $subpartitioning=`select(' SUBPARTITION BY HASH(a) SUBPARTITIONS 2')`;
+}
+
+let $drop_statement= ;
let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = $engine
-PARTITION BY LIST (a)
+PARTITION BY LIST (a)$subpartitioning
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
- PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+ PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+ PARTITION p20 VALUES IN (25,26,27,28,29),
+ PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+let $insert_statement= INSERT INTO t1 VALUES
+ (1, "Original from partition p0"),
+ (2, "Original from partition p0"),
+ (3, "Original from partition p0"),
+ (4, "Original from partition p0"),
+ (11, "Original from partition p1"),
+ (12, "Original from partition p1"),
+ (13, "Original from partition p1"),
+ (14, "Original from partition p1");
+--source suite/parts/inc/define_points_add.inc
let $crash_statement= ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+
if ($do_crash)
{
---source suite/parts/inc/partition_crash_add.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_add.inc
+ --source suite/parts/inc/iterate_points_fail.inc
}
-let $crash_statement= ALTER TABLE t1 DROP PARTITION p10;
+
+--source suite/parts/inc/define_points_drop.inc
+let $crash_statement= ALTER TABLE t1 DROP PARTITION p10, p20;
if ($do_crash)
{
---source suite/parts/inc/partition_crash_drop.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_drop.inc
+ --source suite/parts/inc/iterate_points_fail.inc
}
-let $crash_statement= ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
- PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+
+--source suite/parts/inc/define_points_change.inc
+let $crash_statement= ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+let $fail_statement= $crash_statement;
if ($do_crash)
{
---source suite/parts/inc/partition_crash_change.inc
+ --source suite/parts/inc/iterate_points_crash.inc
}
-let $fail_statement= $crash_statement;
if ($do_fail)
{
---source suite/parts/inc/partition_fail_change.inc
-} \ No newline at end of file
+ --source suite/parts/inc/iterate_points_fail.inc
+}
+
+if ($MTR_COMBINATION_PARTITION)
+{
+ let $crash_statement= ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+
+ --source suite/parts/inc/define_points_convout.inc
+ let $crash_statement= ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ let $drop_statement= DROP TABLE IF EXISTS tp10;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+ let $drop_statement= ;
+
+ --source suite/parts/inc/define_points_convin.inc
+ let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = $engine;
+ let $insert_statement2= INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+ let $crash_statement= ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ let $drop_statement= DROP TABLE IF EXISTS t2;
+ let $show_statement= SHOW CREATE TABLE t2;
+ let $select_statement= SELECT * FROM t2;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+ let $drop_statement= ;
+ let $show_statement= ;
+ let $select_statement= ;
+ let $create_statement2= ;
+ let $insert_statement2= ;
+
+ --source suite/parts/inc/define_points_change.inc
+ let $create_statement= CREATE TABLE t1 (a INT, b VARCHAR(64))
+ ENGINE = $engine
+ PARTITION BY HASH (a) PARTITIONS 5;
+
+ let $crash_statement= ALTER TABLE t1 COALESCE PARTITION 2;
+ if ($do_crash)
+ {
+ --source suite/parts/inc/iterate_points_crash.inc
+ }
+ let $fail_statement= $crash_statement;
+ if ($do_fail)
+ {
+ --source suite/parts/inc/iterate_points_fail.inc
+ }
+}
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result
new file mode 100644
index 00000000000..a43fcbf1f37
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_crash,subpartition.result
@@ -0,0 +1,6548 @@
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
+# Test crash recovery in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#TMP#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#TMP#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0#TMP#.ibd
+t1#P#p15#SP#p15sp1#TMP#.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p25#SP#p25sp0#TMP#.ibd
+t1#P#p25#SP#p25sp1#TMP#.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0#REN#.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1#REN#.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p15#SP#p15sp0.ibd
+t1#P#p15#SP#p15sp1.ibd
+t1#P#p20#SP#p20sp0#REN#.ibd
+t1#P#p20#SP#p20sp1#REN#.ibd
+t1#P#p25#SP#p25sp0.ibd
+t1#P#p25#SP#p25sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_crash.result b/mysql-test/suite/parts/r/debug_innodb_crash.result
index fc265b4957d..11df4bce8aa 100644
--- a/mysql-test/suite/parts/r/debug_innodb_crash.result
+++ b/mysql-test/suite/parts/r/debug_innodb_crash.result
@@ -9,20 +9,125 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -33,7 +138,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -45,18 +152,23 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -67,7 +179,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -79,18 +193,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -101,7 +229,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -113,20 +243,23 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -137,7 +270,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -149,18 +284,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -171,7 +320,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -183,20 +334,23 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -207,7 +361,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -219,18 +375,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -241,7 +411,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -253,20 +425,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -277,7 +453,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -289,18 +467,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -311,7 +503,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -323,21 +517,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -348,7 +545,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -360,18 +559,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -382,7 +595,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -394,21 +609,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -419,7 +637,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -431,18 +651,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -453,7 +687,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -465,21 +701,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -490,7 +729,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -502,18 +743,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -524,7 +779,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -536,22 +793,492 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -563,7 +1290,9 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -574,19 +1303,36 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -597,7 +1343,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -609,20 +1357,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -634,7 +1386,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -646,18 +1399,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -668,7 +1435,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -680,20 +1449,2598 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -705,7 +4052,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -717,20 +4065,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -741,7 +4101,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -752,18 +4114,29 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_added_part: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -774,7 +4147,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -786,18 +4161,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -808,7 +4197,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -819,20 +4210,29 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_rename_parts_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -843,7 +4243,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -855,18 +4257,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -877,7 +4293,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -888,20 +4306,29 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -912,7 +4339,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -924,18 +4353,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -946,7 +4389,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -957,19 +4402,29 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -979,26 +4434,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1009,7 +4485,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1020,19 +4498,29 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_7: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1042,26 +4530,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1072,7 +4581,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1083,19 +4594,999 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = InnoDB,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = InnoDB,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p15#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p25#TMP#.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p15.ibd
+t1#P#p20#REN#.ibd
+t1#P#p25.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_1: AFTER crash
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1105,26 +5596,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1135,7 +5647,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1146,17 +5660,23 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1166,26 +5686,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1196,7 +5737,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1207,16 +5750,23 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_3: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1226,26 +5776,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1256,7 +5827,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1267,16 +5840,23 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1286,29 +5866,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1319,7 +5917,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1330,20 +5930,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1354,7 +5958,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1366,18 +5972,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1388,7 +6008,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1399,22 +6021,25 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_1: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1425,7 +6050,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1437,18 +6064,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1459,7 +6100,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1470,22 +6113,25 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
+t1#P#p10#TMP#.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1496,7 +6142,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1508,18 +6156,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1530,7 +6192,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1541,24 +6205,25 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1569,7 +6234,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1581,18 +6248,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1603,7 +6284,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1614,24 +6297,25 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1642,7 +6326,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1654,18 +6340,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1676,7 +6376,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1687,24 +6389,25 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1715,7 +6418,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1727,18 +6432,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1749,7 +6468,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1760,25 +6481,209 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_table: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_rename_parts_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1789,8 +6694,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1802,18 +6708,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1824,7 +6744,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1835,25 +6757,301 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_added_part: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
t1#P#p0.ibd
+t1#P#p10#REN#.ibd
t1#P#p10#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1864,8 +7062,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1877,18 +7076,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1899,7 +7112,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1910,23 +7125,675 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1937,8 +7804,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1950,18 +7818,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1972,7 +7854,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1983,23 +7867,3540 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
+t1#P#p0#TMP#.ibd
t1#P#p0.ibd
t1#P#p10#TMP#.ibd
t1#P#p10.ibd
-t1#P#p20#TMP#.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p10#REN#.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 19 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_create_before_create_frm
+set @@debug_dbug= "+d,crash_create_before_create_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_create_before_create_frm: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_create_before_create_frm: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+# d,crash_create_before_create_frm: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_alter_partition_after_write_frm
+set @@debug_dbug= "+d,crash_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_after_write_frm: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_after_write_frm: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_alter_partition_after_write_frm: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+tp10.frm
+tp10.ibd
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 18 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_3: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t2.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2010,8 +11411,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2022,21 +11425,48 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2045,7 +11475,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2056,22 +11488,36 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2082,8 +11528,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2094,21 +11542,48 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2117,7 +11592,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2128,24 +11605,104 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
-# State after crash recovery
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
+t2.frm
+t2.ibd
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
@@ -2154,8 +11711,2470 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1#P#p40.ibd
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0#TMP#.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.ibd
+t1#P#p0.ibd
+t1#P#p1#TMP#.ibd
+t1#P#p1.ibd
+t1#P#p2#TMP#.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.ibd
+t1#P#p0.ibd
+t1#P#p1#REN#.ibd
+t1#P#p1.ibd
+t1#P#p2#REN#.ibd
+t1#P#p2.ibd
+t1#P#p3#REN#.ibd
+t1#P#p4#REN#.ibd
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2167,4 +14186,4 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result b/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result
new file mode 100644
index 00000000000..ba8c7f7151b
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_innodb_fail,subpartition.result
@@ -0,0 +1,8795 @@
+call mtr.add_suppression("InnoDB: Warning: allocated tablespace .*, old maximum was");
+call mtr.add_suppression("table .* does not exist in the InnoDB internal");
+call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
+# Test failure recovery in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.ibd
+t1#P#p0#SP#p0sp1.ibd
+t1#P#p10#SP#p10sp0.ibd
+t1#P#p10#SP#p10sp1.ibd
+t1#P#p20#SP#p20sp0.ibd
+t1#P#p20#SP#p20sp1.ibd
+t1#P#p30#SP#p30sp0.ibd
+t1#P#p30#SP#p30sp1.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_innodb_fail.result b/mysql-test/suite/parts/r/debug_innodb_fail.result
index 65d13feec62..d9684fb03cd 100644
--- a/mysql-test/suite/parts/r/debug_innodb_fail.result
+++ b/mysql-test/suite/parts/r/debug_innodb_fail.result
@@ -9,20 +9,36 @@ call mtr.add_suppression("InnoDB: Warning: MariaDB is trying to drop table ");
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -33,7 +49,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -45,12 +63,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -61,7 +84,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -73,16 +98,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -93,7 +131,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -106,12 +146,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -122,7 +167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -135,18 +182,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -157,7 +218,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -169,12 +232,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -185,7 +253,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -197,16 +267,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -217,7 +300,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -230,12 +315,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -246,7 +336,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -259,18 +351,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -281,7 +387,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -293,12 +401,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -309,7 +422,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -321,16 +436,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -341,7 +469,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -354,12 +484,275 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -370,7 +763,93 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -383,18 +862,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -405,7 +898,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -417,12 +912,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -433,7 +933,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -445,16 +947,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -465,7 +980,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -478,12 +995,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -494,7 +1016,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -507,18 +1031,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -529,7 +1067,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -541,12 +1081,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -557,7 +1102,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -569,16 +1116,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -589,7 +1149,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -602,12 +1164,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -618,7 +1185,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -631,18 +1200,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -653,7 +1236,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -665,12 +1250,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -681,7 +1271,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -693,16 +1285,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -713,7 +1318,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -726,12 +1333,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -742,7 +1354,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -755,18 +1369,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -777,7 +1405,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -789,12 +1419,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -805,7 +1440,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -817,16 +1454,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -837,7 +1487,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -850,12 +1502,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -866,7 +1523,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -879,18 +1538,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -901,7 +1574,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -913,13 +1588,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -931,7 +1610,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -943,16 +1623,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -963,7 +1656,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -976,13 +1671,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -994,7 +1693,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1007,18 +1707,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1029,7 +1743,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1041,13 +1757,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1059,7 +1779,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1070,17 +1791,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1091,7 +1826,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1104,13 +1841,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1122,7 +1863,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1135,18 +1877,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1157,7 +1913,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1169,13 +1927,17 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1187,7 +1949,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1198,17 +1961,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1219,7 +1996,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1232,13 +2011,17 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1250,7 +2033,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1263,20 +2047,34 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1287,7 +2085,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1298,12 +2098,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1314,7 +2119,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1326,16 +2133,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1346,7 +2166,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1358,12 +2180,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1374,7 +2201,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1387,18 +2216,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1409,7 +2252,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1420,12 +2265,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1436,7 +2286,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1448,16 +2300,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1468,7 +2333,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1480,12 +2347,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1496,7 +2368,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1509,18 +2383,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1531,7 +2419,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1542,12 +2432,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1558,7 +2453,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1570,16 +2467,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1590,7 +2500,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1602,12 +2514,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1618,7 +2535,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1631,18 +2550,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1653,7 +2586,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1664,11 +2599,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1678,24 +2619,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1706,7 +2667,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1718,11 +2681,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1732,27 +2701,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1763,7 +2753,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1774,11 +2766,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,24 +2786,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1816,7 +2834,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1828,11 +2848,186 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1842,27 +3037,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1873,7 +3089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1884,11 +3102,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1898,24 +3122,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1926,7 +3170,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1938,11 +3184,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1952,27 +3204,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1983,7 +3256,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1994,11 +3269,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2008,24 +3289,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2036,7 +3337,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2048,11 +3351,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2062,27 +3371,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2093,7 +3423,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2104,11 +3436,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2118,24 +3456,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2146,7 +3504,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2158,11 +3518,3616 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2172,27 +7137,86 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_drop_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2203,7 +7227,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2214,11 +7240,20 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2228,24 +7263,44 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_drop_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2256,7 +7311,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2268,11 +7325,20 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2282,30 +7348,398 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2316,7 +7750,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2327,14 +7763,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2345,7 +7784,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2357,16 +7798,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2377,7 +7831,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2389,14 +7845,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2407,7 +7866,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2420,18 +7881,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2442,7 +7917,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2453,14 +7930,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2471,7 +7951,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2483,16 +7965,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2503,7 +7998,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2515,14 +8012,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2533,7 +8033,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2546,18 +8048,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2568,7 +8084,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2579,14 +8097,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2597,7 +8118,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2609,16 +8132,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2629,7 +8165,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2641,14 +8179,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2659,7 +8200,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2672,18 +8215,877 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2694,7 +9096,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2705,14 +9109,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2723,7 +9130,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2735,16 +9144,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2755,7 +9177,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2767,14 +9191,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2785,7 +9212,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2798,18 +9227,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2820,7 +9263,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2831,14 +9276,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2849,7 +9297,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2861,16 +9311,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2881,7 +9344,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2893,14 +9358,854 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2911,7 +10216,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2924,18 +10231,199 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2946,7 +10434,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2957,14 +10447,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2975,7 +10468,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2987,16 +10482,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3007,7 +10515,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3019,14 +10529,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3037,7 +10550,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3050,18 +10565,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3072,7 +10601,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3083,15 +10614,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3102,8 +10635,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3115,16 +10649,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3135,7 +10682,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3147,15 +10696,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3166,8 +10717,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3180,18 +10732,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3202,7 +10768,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3213,15 +10781,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3232,8 +10802,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3245,16 +10816,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3265,7 +10849,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3277,15 +10863,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3296,8 +10884,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3310,18 +10899,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3332,7 +10935,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3343,15 +10948,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3362,8 +10969,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3375,16 +10983,29 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3395,7 +11016,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3407,15 +11030,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3426,8 +11051,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3440,18 +11066,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3462,7 +11102,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3473,15 +11115,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3492,8 +11136,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3504,17 +11149,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3525,7 +11184,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3537,15 +11198,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3556,8 +11219,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3570,18 +11234,32 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_11: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3592,7 +11270,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3603,15 +11283,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3622,8 +11304,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3634,17 +11317,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_11: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3655,7 +11352,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3667,15 +11366,17 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3686,8 +11387,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3700,18 +11402,34 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Iterating 15 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_create_before_create_frm
+set @@debug_dbug= "+d,fail_create_before_create_frm";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_12: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3722,7 +11440,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3733,15 +11453,17 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure
+# d,fail_create_before_create_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3752,8 +11474,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3765,16 +11488,32 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'InnoDB'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_12: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3785,7 +11524,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3797,15 +11538,71 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure (under LOCK TABLE)
+# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_alter_partition_after_write_frm
+set @@debug_dbug= "+d,fail_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure
db.opt
t1#P#p0.ibd
t1#P#p10.ibd
t1#P#p20.ibd
+t1#P#p30.ibd
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3816,8 +11613,8170 @@ t1 CREATE TABLE `t1` (
) ENGINE=InnoDB DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = InnoDB)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 14 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'InnoDB';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p10.ibd
+t1#P#p20.ibd
+t1#P#p30.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = InnoDB,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = InnoDB,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = InnoDB,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine InnoDB
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,InnoDB,1,test,t1,id: 1,InnoDB,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'InnoDB'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1#P#p2.ibd
+t1#P#p3.ibd
+t1#P#p4.ibd
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3830,4 +19789,4 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result b/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result
new file mode 100644
index 00000000000..14a4a756e5a
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_crash,subpartition.result
@@ -0,0 +1,8123 @@
+# Test crash in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#TMP#.MYD
+t1#P#p10#SP#p10sp0#TMP#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#TMP#.MYD
+t1#P#p10#SP#p10sp1#TMP#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0#TMP#.MYD
+t1#P#p15#SP#p15sp0#TMP#.MYI
+t1#P#p15#SP#p15sp1#TMP#.MYD
+t1#P#p15#SP#p15sp1#TMP#.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p25#SP#p25sp0#TMP#.MYD
+t1#P#p25#SP#p25sp0#TMP#.MYI
+t1#P#p25#SP#p25sp1#TMP#.MYD
+t1#P#p25#SP#p25sp1#TMP#.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0#REN#.MYD
+t1#P#p10#SP#p10sp0#REN#.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1#REN#.MYD
+t1#P#p10#SP#p10sp1#REN#.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p15#SP#p15sp0.MYD
+t1#P#p15#SP#p15sp0.MYI
+t1#P#p15#SP#p15sp1.MYD
+t1#P#p15#SP#p15sp1.MYI
+t1#P#p20#SP#p20sp0#REN#.MYD
+t1#P#p20#SP#p20sp0#REN#.MYI
+t1#P#p20#SP#p20sp1#REN#.MYD
+t1#P#p20#SP#p20sp1#REN#.MYI
+t1#P#p25#SP#p25sp0.MYD
+t1#P#p25#SP#p25sp0.MYI
+t1#P#p25#SP#p25sp1.MYD
+t1#P#p25#SP#p25sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_crash.result b/mysql-test/suite/parts/r/debug_myisam_crash.result
index 2b0f6973228..9184791276d 100644
--- a/mysql-test/suite/parts/r/debug_myisam_crash.result
+++ b/mysql-test/suite/parts/r/debug_myisam_crash.result
@@ -6,22 +6,40 @@
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Crash testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_1";
+# Iterating 17 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_add_partition_1
+set @@debug_dbug= "+d,crash_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -32,7 +50,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -44,22 +64,29 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_1: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -70,7 +97,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -82,20 +111,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_add_partition_2
+set @@debug_dbug= "+d,crash_add_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -106,7 +151,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -118,9 +165,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -128,14 +174,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -146,7 +200,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -158,20 +214,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_add_partition_3
+set @@debug_dbug= "+d,crash_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -182,7 +254,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -194,9 +268,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -204,14 +277,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -222,7 +303,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -234,20 +317,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -258,7 +357,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -270,9 +371,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_alloc_parts: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -280,14 +380,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_alloc_parts: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -298,7 +406,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -310,20 +420,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -334,7 +460,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -346,9 +474,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -356,16 +483,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -376,7 +511,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -388,20 +525,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_add_partition_4
+set @@debug_dbug= "+d,crash_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -412,7 +565,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -424,9 +579,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -434,16 +588,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -454,7 +616,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -466,20 +630,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_add_partition_5
+set @@debug_dbug= "+d,crash_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -490,7 +670,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -502,9 +684,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -512,16 +693,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -532,7 +721,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -544,20 +735,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_add_partition_6
+set @@debug_dbug= "+d,crash_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -568,7 +775,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -580,9 +789,8 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_6: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -590,11 +798,174 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_add_partition_7
+set @@debug_dbug= "+d,crash_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_add_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_add_partition_8
+set @@debug_dbug= "+d,crash_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_add_partition_8: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -602,6 +973,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -613,7 +986,59 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_add_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_add_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -625,20 +1050,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -649,7 +1090,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -661,19 +1104,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -681,6 +1129,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -692,7 +1142,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -703,21 +1154,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -728,7 +1196,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -740,19 +1210,24 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -760,6 +1235,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -771,7 +1248,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -782,23 +1260,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -809,7 +1302,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -820,22 +1315,36 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -846,7 +1355,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -857,21 +1369,93 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -882,7 +1466,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (20,21,22,23,24) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -893,9 +1480,66 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_1,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_add_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_add_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -903,14 +1547,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_1,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -921,7 +1575,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -933,20 +1589,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_2,fail_add_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_add_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_add_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -957,7 +1629,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -968,9 +1642,9 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -978,14 +1652,24 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_fail_partition_2,fail_add_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -996,7 +1680,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1008,20 +1694,38 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Iterating 16 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_drop_partition_1
+set @@debug_dbug= "+d,crash_drop_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1032,7 +1736,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1043,9 +1749,108 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_drop_partition_2
+set @@debug_dbug= "+d,crash_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1053,12 +1858,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1068,28 +1883,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_drop_partition_3
+set @@debug_dbug= "+d,crash_drop_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1100,7 +1938,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1111,9 +1951,8 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1121,12 +1960,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1136,28 +1985,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_drop_partition_4
+set @@debug_dbug= "+d,crash_drop_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1168,7 +2040,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1179,9 +2053,8 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1189,12 +2062,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1204,28 +2087,99 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_drop_partition_5
+set @@debug_dbug= "+d,crash_drop_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1236,7 +2190,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1247,20 +2203,85 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_rename_table: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1270,28 +2291,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_drop_partition_6
+set @@debug_dbug= "+d,crash_drop_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1302,7 +2346,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1313,18 +2359,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_drop_partition_6: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1334,28 +2393,51 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_drop_partition_7
+set @@debug_dbug= "+d,crash_drop_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_7: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1366,7 +2448,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1377,18 +2461,437 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_7: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_drop_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_drop_partition_8
+set @@debug_dbug= "+d,crash_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_drop_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_drop_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_drop_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_done_partition_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1398,31 +2901,47 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Test change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1433,7 +2952,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1444,24 +2965,125 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p10, p20
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_fail_partition_1,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_drop_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_drop_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_drop_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1472,7 +3094,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1484,20 +3108,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_fail_partition_2,fail_drop_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_drop_partition_5,";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_drop_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1508,7 +3148,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1519,26 +3161,87 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 DROP PARTITION p10, p20;
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_drop_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1549,7 +3252,163 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1561,20 +3420,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1585,7 +3460,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1596,11 +3473,11 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1608,14 +3485,22 @@ t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1626,7 +3511,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1638,20 +3525,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1662,7 +3565,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1673,11 +3578,116 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_add: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1687,16 +3697,22 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_add: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1707,7 +3723,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1719,20 +3737,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1743,7 +3777,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1754,11 +3790,11 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_1: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1768,16 +3804,26 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,7 +3834,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1800,20 +3848,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1824,7 +3888,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1835,11 +3901,11 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_2: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1849,16 +3915,26 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1869,7 +3945,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1881,20 +3959,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1905,7 +3999,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1916,11 +4012,11 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_add_parts_3: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -1930,11 +4026,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_add_parts_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1942,6 +4044,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1952,8 +4056,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1965,20 +4070,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1989,7 +4110,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2000,11 +4123,11 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_4: AFTER crash
#sql-shadow-t1.frm
#sql-shadow-t1.par
db.opt
@@ -2014,11 +4137,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2026,6 +4155,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2036,8 +4167,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2049,20 +4181,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2073,7 +4221,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2084,11 +4234,13 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2096,11 +4248,17 @@ t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_change_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2108,6 +4266,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2118,8 +4278,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2131,20 +4292,36 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2155,7 +4332,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2166,23 +4345,1141 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
t1#P#p10#TMP#.MYD
t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
t1#P#p10.MYD
t1#P#p10.MYI
-t1#P#p20#TMP#.MYD
-t1#P#p20#TMP#.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+# d,crash_alter_partition_binlog_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2190,6 +5487,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2200,8 +5499,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2212,21 +5512,38 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2237,7 +5554,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2248,11 +5567,31 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2260,9 +5599,54 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2270,6 +5654,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2280,8 +5666,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2292,21 +5679,161 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,crash_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# State before crash
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2317,7 +5844,10 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (10,11,12,13,14,15,16) ENGINE = MyISAM,
+ PARTITION `p15` VALUES IN (17,18,19,20,21,22,23) ENGINE = MyISAM,
+ PARTITION `p25` VALUES IN (24,25,26,27,28,29,30) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2328,11 +5858,33 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30))
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2340,9 +5892,167 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
-# State after crash recovery
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15#TMP#.MYD
+t1#P#p15#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p25#TMP#.MYD
+t1#P#p25#TMP#.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -2350,6 +6060,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2360,8 +6072,10236 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p15.MYD
+t1#P#p15.MYI
+t1#P#p20#REN#.MYD
+t1#P#p20#REN#.MYI
+t1#P#p25.MYD
+t1#P#p25.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REBUILD PARTITION p0, p10
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#TMP#.MYD
+t1#P#p10#TMP#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10#REN#.MYD
+t1#P#p10#REN#.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 19 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_create_before_create_frm
+set @@debug_dbug= "+d,crash_create_before_create_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_create_before_create_frm: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_create_before_create_frm: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+# d,crash_create_before_create_frm: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_alter_partition_after_write_frm
+set @@debug_dbug= "+d,crash_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_after_write_frm: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_after_write_frm: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_alter_partition_after_write_frm: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+tp10.MYD
+tp10.MYI
+tp10.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 18 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_convert_partition_1
+set @@debug_dbug= "+d,crash_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_convert_partition_2
+set @@debug_dbug= "+d,crash_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_2: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_convert_partition_3
+set @@debug_dbug= "+d,crash_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_3: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_convert_partition_4
+set @@debug_dbug= "+d,crash_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_convert_partition_5
+set @@debug_dbug= "+d,crash_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_convert_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_convert_partition_6
+set @@debug_dbug= "+d,crash_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_convert_partition_7
+set @@debug_dbug= "+d,crash_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_convert_partition_8
+set @@debug_dbug= "+d,crash_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t2.frm
+# d,crash_convert_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_convert_partition_9
+set @@debug_dbug= "+d,crash_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_convert_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_convert_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_convert_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM,
+ PARTITION `p40` VALUES IN (40,50) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+40 40 from t2
+50 50 from t2
+SHOW CREATE TABLE t2;
+SELECT * FROM t2;
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50)
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+Warnings:
+Note 1051 Unknown table 'test.t2'
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_fail_partition_1,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_1,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_fail_partition_2,fail_convert_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_convert_partition_6,";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_convert_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1#P#p40.MYD
+t1#P#p40.MYI
+t1.frm
+t1.par
+t2.frm
+# d,crash_fail_partition_2,fail_convert_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 29 crash-points
+set @save_dbug= @@debug_dbug;
+# Crash-point 1: crash_change_partition_1
+set @@debug_dbug= "+d,crash_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_1: AFTER crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 2: crash_change_partition_2
+set @@debug_dbug= "+d,crash_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 3: crash_change_partition_3
+set @@debug_dbug= "+d,crash_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 4: crash_alter_partition_alloc_parts
+set @@debug_dbug= "+d,crash_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_alloc_parts: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_alloc_parts: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_alloc_parts: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 5: crash_alter_partition_add
+set @@debug_dbug= "+d,crash_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_add: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_add: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_add: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 6: crash_change_partition_add_parts_1
+set @@debug_dbug= "+d,crash_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 7: crash_change_partition_add_parts_2
+set @@debug_dbug= "+d,crash_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 8: crash_change_partition_add_parts_3
+set @@debug_dbug= "+d,crash_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_add_parts_3: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_add_parts_3: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_add_parts_3: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 9: crash_change_partition_4
+set @@debug_dbug= "+d,crash_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_4: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_4: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_4: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 10: crash_change_partition_5
+set @@debug_dbug= "+d,crash_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 11: crash_alter_partition_rename_table
+set @@debug_dbug= "+d,crash_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_table: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_table: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_table: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 12: crash_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_to_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_to_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_to_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 13: crash_change_partition_rename_parts_1
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_1: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 14: crash_alter_partition_rename_added_part
+set @@debug_dbug= "+d,crash_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_added_part: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_added_part: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_added_part: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 15: crash_change_partition_rename_parts_2
+set @@debug_dbug= "+d,crash_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_rename_parts_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_rename_parts_2: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_rename_parts_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 16: crash_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,crash_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_rename_drop_backup: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_rename_drop_backup: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_rename_drop_backup: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 17: crash_change_partition_6
+set @@debug_dbug= "+d,crash_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 18: crash_change_partition_7
+set @@debug_dbug= "+d,crash_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_7: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_7: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_7: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 19: crash_change_partition_8
+set @@debug_dbug= "+d,crash_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_8: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_8: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+# d,crash_change_partition_8: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 20: crash_change_partition_9
+set @@debug_dbug= "+d,crash_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_change_partition_9: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_change_partition_9: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_change_partition_9: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 21: crash_alter_partition_binlog_1
+set @@debug_dbug= "+d,crash_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 22: crash_alter_partition_binlog_2
+set @@debug_dbug= "+d,crash_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_alter_partition_binlog_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_alter_partition_binlog_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_alter_partition_binlog_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 23: crash_done_partition_1
+set @@debug_dbug= "+d,crash_done_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_1: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_done_partition_1: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_1: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 24: crash_done_partition_2
+set @@debug_dbug= "+d,crash_done_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_done_partition_2: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_done_partition_2: AFTER crash
+#sql-backup-4-t1.frm
+#sql-backup-4-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_done_partition_2: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 3
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+master-bin.000001 # Query # # use `test`; ALTER TABLE t1 COALESCE PARTITION 2
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 25: crash_fail_partition_1,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 26: crash_fail_partition_2,fail_change_partition_5,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_5,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_5: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#TMP#.MYD
+t1#P#p0#TMP#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#TMP#.MYD
+t1#P#p1#TMP#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#TMP#.MYD
+t1#P#p2#TMP#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_5: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 27: crash_fail_partition_1,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_1,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_1,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_1,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Crash-point 28: crash_fail_partition_2,fail_change_partition_6,
+set @@debug_dbug= "+d,crash_fail_partition_2,fail_change_partition_6,";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,crash_fail_partition_2,fail_change_partition_6: BEFORE crash
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER crash
+#sql-shadow-t1.frm
+#sql-shadow-t1.par
+db.opt
+t1#P#p0#REN#.MYD
+t1#P#p0#REN#.MYI
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1#REN#.MYD
+t1#P#p1#REN#.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2#REN#.MYD
+t1#P#p2#REN#.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3#REN#.MYD
+t1#P#p3#REN#.MYI
+t1#P#p4#REN#.MYD
+t1#P#p4#REN#.MYI
+t1.frm
+t1.par
+# d,crash_fail_partition_2,fail_change_partition_6: AFTER recovery
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2373,4 +16313,4 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result b/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result
new file mode 100644
index 00000000000..fa064bfd30b
--- /dev/null
+++ b/mysql-test/suite/parts/r/debug_myisam_fail,subpartition.result
@@ -0,0 +1,10232 @@
+# Test failures in fast_alter_partition_table.
+#
+# Bug#53676: Unexpected errors and possible table corruption on
+# ADD PARTITION and LOCK TABLE
+# Bug#53770: Server crash at handler.cc:2076 on LOAD DATA
+# after timed out COALESCE PARTITION
+# Extended crash recovery testing of fast_alter_partition_table.
+call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
+flush tables;
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a) SUBPARTITION BY HASH(a) SUBPARTITIONS 2
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0#SP#p0sp0.MYD
+t1#P#p0#SP#p0sp0.MYI
+t1#P#p0#SP#p0sp1.MYD
+t1#P#p0#SP#p0sp1.MYI
+t1#P#p10#SP#p10sp0.MYD
+t1#P#p10#SP#p10sp0.MYI
+t1#P#p10#SP#p10sp1.MYD
+t1#P#p10#SP#p10sp1.MYI
+t1#P#p20#SP#p20sp0.MYD
+t1#P#p20#SP#p20sp0.MYI
+t1#P#p20#SP#p20sp1.MYD
+t1#P#p20#SP#p20sp1.MYI
+t1#P#p30#SP#p30sp0.MYD
+t1#P#p30#SP#p30sp0.MYI
+t1#P#p30#SP#p30sp1.MYD
+t1#P#p30#SP#p30sp1.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+SUBPARTITION BY HASH (`a`)
+SUBPARTITIONS 2
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/debug_myisam_fail.result b/mysql-test/suite/parts/r/debug_myisam_fail.result
index 509cffe4384..730e6d49c95 100644
--- a/mysql-test/suite/parts/r/debug_myisam_fail.result
+++ b/mysql-test/suite/parts/r/debug_myisam_fail.result
@@ -6,22 +6,40 @@
# after timed out COALESCE PARTITION
# Extended crash recovery testing of fast_alter_partition_table.
call mtr.add_suppression("Attempting backtrace. You can use the following information to find out");
+call mtr.add_suppression("Crashing at");
+call mtr.add_suppression("Failing at");
flush tables;
-# Error recovery testing ADD PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_1";
+# Iterating 13 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_add_partition_1
+set @@debug_dbug= "+d,fail_add_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -32,7 +50,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -44,14 +64,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -62,7 +89,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -74,18 +103,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -96,7 +140,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -109,14 +155,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -127,7 +180,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -140,20 +195,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_add_partition_2
+set @@debug_dbug= "+d,fail_add_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -164,7 +235,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -176,14 +249,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -194,7 +274,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -206,18 +288,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -228,7 +325,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -241,14 +340,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -259,7 +365,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -272,20 +380,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_add_partition_3
+set @@debug_dbug= "+d,fail_add_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -296,7 +420,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -308,14 +434,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -326,7 +459,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -338,18 +473,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -360,7 +510,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -373,14 +525,354 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -391,7 +883,50 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 ADD PARTITION
+(PARTITION p15 VALUES IN (20,21,22,23,24));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -404,20 +939,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_add_partition_4
+set @@debug_dbug= "+d,fail_add_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -428,7 +979,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -440,14 +993,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -458,7 +1018,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -470,18 +1032,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -492,7 +1069,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -505,14 +1084,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -523,7 +1109,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -536,20 +1124,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_add_partition_5
+set @@debug_dbug= "+d,fail_add_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -560,7 +1164,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -572,14 +1178,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -590,7 +1203,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -602,18 +1217,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -624,7 +1254,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -637,14 +1269,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -655,7 +1294,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -668,20 +1309,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_add_partition_6
+set @@debug_dbug= "+d,fail_add_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -692,7 +1349,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -704,14 +1363,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -722,7 +1388,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -734,18 +1402,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -756,7 +1439,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -769,14 +1454,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -787,7 +1479,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -800,20 +1494,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_add_partition_7
+set @@debug_dbug= "+d,fail_add_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -824,7 +1534,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -836,14 +1548,21 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -854,7 +1573,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -866,18 +1587,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -888,7 +1624,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -901,14 +1639,21 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -919,7 +1664,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -932,20 +1679,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_add_partition_8
+set @@debug_dbug= "+d,fail_add_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -956,7 +1719,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -968,9 +1733,12 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -978,6 +1746,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -989,7 +1759,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1001,18 +1772,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_add_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1023,7 +1809,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1036,9 +1824,12 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
# d,fail_add_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1046,6 +1837,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1057,7 +1850,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1070,20 +1864,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1094,7 +1904,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1106,9 +1918,12 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1116,6 +1931,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1127,7 +1944,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1138,19 +1956,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1161,7 +1995,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1174,9 +2010,12 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1184,6 +2023,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1195,7 +2036,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1208,20 +2050,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_add_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1232,7 +2090,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1244,9 +2104,12 @@ a b
3 Original from partition p0
4 Original from partition p0
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1254,6 +2117,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1265,7 +2130,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1276,19 +2142,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_add_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1299,7 +2181,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1312,9 +2196,12 @@ a b
4 Original from partition p0
LOCK TABLE t1 WRITE;
ALTER TABLE t1 ADD PARTITION
-(PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+(PARTITION p15 VALUES IN (20,21,22,23,24));
ERROR HY000: Unknown error
-# d,fail_add_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1322,6 +2209,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1333,7 +2222,8 @@ t1 CREATE TABLE `t1` (
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1346,22 +2236,38 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery DROP PARTITION
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 12 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_drop_partition_1
+set @@debug_dbug= "+d,fail_drop_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1372,7 +2278,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1383,14 +2291,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1401,7 +2316,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1413,18 +2330,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1435,7 +2367,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1447,14 +2381,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1465,7 +2406,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1478,20 +2421,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_drop_partition_2
+set @@debug_dbug= "+d,fail_drop_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1502,7 +2461,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1513,14 +2474,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1531,7 +2499,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1543,18 +2513,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1565,7 +2550,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1577,14 +2564,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1595,7 +2589,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1608,20 +2604,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_drop_partition_3
+set @@debug_dbug= "+d,fail_drop_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1632,7 +2644,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1643,14 +2657,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1661,7 +2682,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1673,18 +2696,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1695,7 +2733,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1707,14 +2747,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1725,7 +2772,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1738,20 +2787,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_drop_partition_4
+set @@debug_dbug= "+d,fail_drop_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1762,7 +2827,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1773,12 +2840,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1788,26 +2864,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1818,7 +2916,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1830,12 +2930,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1845,29 +2954,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_drop_partition_5
+set @@debug_dbug= "+d,fail_drop_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1878,7 +3010,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1889,12 +3023,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1904,26 +3047,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1934,7 +3099,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -1946,12 +3113,115 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1961,29 +3231,143 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_drop_partition_6
+set @@debug_dbug= "+d,fail_drop_partition_6";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -1994,7 +3378,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2005,12 +3391,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2020,26 +3415,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2050,7 +3467,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2062,12 +3481,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2077,29 +3505,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_drop_partition_7
+set @@debug_dbug= "+d,fail_drop_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2110,7 +3561,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2121,12 +3574,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2136,26 +3598,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2166,7 +3650,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2178,12 +3664,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2193,29 +3688,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_drop_partition_8
+set @@debug_dbug= "+d,fail_drop_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2226,7 +3744,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2237,12 +3757,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2252,26 +3781,48 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_drop_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2282,7 +3833,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2294,12 +3847,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
# d,fail_drop_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2309,29 +3871,52 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_drop_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_drop_partition_9: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2342,7 +3927,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2353,12 +3940,21 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2368,26 +3964,181 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_drop_partition_9: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 DROP PARTITION p10, p20;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2398,7 +4149,61 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2410,12 +4215,21 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 DROP PARTITION p10;
+ALTER TABLE t1 DROP PARTITION p10, p20;
ERROR HY000: Unknown error
-# d,fail_drop_partition_9: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2425,32 +4239,54 @@ t1 CREATE TABLE `t1` (
`b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
-(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-# Error recovery change partition (REORGANIZE/REBUILD/COALESCE
-# or ADD HASH PARTITION).
-SET @save_dbug=@@debug_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_1";
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2461,7 +4297,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2472,16 +4310,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2492,7 +4338,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2504,18 +4352,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2526,7 +4389,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2538,16 +4403,24 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2558,7 +4431,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2571,20 +4446,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_2";
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2595,7 +4486,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2606,16 +4499,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2626,7 +4527,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2638,18 +4541,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2660,7 +4578,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2672,16 +4592,24 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2692,7 +4620,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2705,20 +4635,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_3";
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2729,7 +4675,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2740,16 +4688,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2760,7 +4716,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2772,18 +4730,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2794,7 +4767,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2806,16 +4781,936 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2826,7 +5721,52 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2839,20 +5779,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_4";
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2863,7 +5819,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2874,16 +5832,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2894,7 +5860,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2906,18 +5874,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2928,7 +5911,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2940,16 +5925,24 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2960,7 +5953,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -2973,20 +5968,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_5";
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -2997,7 +6008,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3008,16 +6021,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3028,7 +6049,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3040,18 +6063,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3062,7 +6100,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3074,16 +6114,551 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3094,7 +6669,51 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3107,20 +6726,603 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_6";
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3131,7 +7333,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3142,16 +7346,24 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3162,7 +7374,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3174,18 +7388,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3196,7 +7425,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3208,16 +7439,24 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3228,7 +7467,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3241,20 +7482,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_7";
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3265,7 +7522,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3276,11 +7535,15 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3288,6 +7551,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3298,8 +7563,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3311,18 +7577,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3333,7 +7614,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3345,11 +7628,15 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3357,6 +7644,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3367,8 +7656,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3381,20 +7671,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_8";
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3405,7 +7711,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3416,11 +7724,15 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3428,6 +7740,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3438,8 +7752,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3451,18 +7766,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3473,7 +7803,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3485,11 +7817,15 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3497,6 +7833,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3507,8 +7845,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3521,20 +7860,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_9";
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3545,7 +7900,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3556,11 +7913,15 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3568,6 +7929,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3578,8 +7941,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3591,18 +7955,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3613,7 +7992,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3625,11 +8006,15 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3637,6 +8022,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3647,8 +8034,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3661,20 +8049,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_10";
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_10: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3685,7 +8089,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3696,11 +8102,15 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3708,6 +8118,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3718,8 +8130,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3730,19 +8143,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_10: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3753,7 +8182,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3765,11 +8196,15 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_10: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3777,6 +8212,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3787,8 +8224,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3801,20 +8239,36 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_11";
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_11: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3825,7 +8279,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3836,11 +8292,15 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3848,6 +8308,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3858,8 +8320,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3870,19 +8333,35 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_11: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3893,7 +8372,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3905,11 +8386,15 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REORGANIZE PARTITION p10, p20 INTO
+(PARTITION p10 VALUES IN (10,11,12,13,14,15,16),
+PARTITION p15 VALUES IN (17,18,19,20,21,22,23),
+PARTITION p25 VALUES IN (24,25,26,27,28,29,30));
ERROR HY000: Unknown error
-# d,fail_change_partition_11: AFTER failure (under LOCK TABLE)
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3917,6 +8402,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3927,8 +8414,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3941,20 +8429,38 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,fail_change_partition_12";
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_12: BEFORE failure
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3965,7 +8471,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -3976,11 +8484,12 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -3988,6 +8497,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -3998,8 +8509,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4011,18 +8523,33 @@ a b
3 Original from partition p0
4 Original from partition p0
DROP TABLE t1;
+RESET MASTER;
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = 'MyISAM'
PARTITION BY LIST (a)
(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
-PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19));
-INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1");
-# d,fail_change_partition_12: BEFORE failure (under LOCK TABLE)
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
t1#P#p10.MYD
t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -4033,7 +8560,9 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4045,11 +8574,12 @@ a b
3 Original from partition p0
4 Original from partition p0
LOCK TABLE t1 WRITE;
-ALTER TABLE t1 REORGANIZE PARTITION p10 INTO
-(PARTITION p10 VALUES IN (10,11,12,13,14,15,16,17,18,19),
-PARTITION p20 VALUES IN (20,21,22,23,24,25,26,27,28,29));
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
ERROR HY000: Unknown error
-# d,fail_change_partition_12: AFTER failure (under LOCK TABLE)
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -4057,6 +8587,8 @@ t1#P#p10.MYD
t1#P#p10.MYI
t1#P#p20.MYD
t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
t1.frm
t1.par
SHOW CREATE TABLE t1;
@@ -4067,8 +8599,13177 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
PARTITION BY LIST (`a`)
(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
- PARTITION `p10` VALUES IN (10,11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
- PARTITION `p20` VALUES IN (20,21,22,23,24,25,26,27,28,29) ENGINE = MyISAM)
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 REBUILD PARTITION p0, p10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Iterating 15 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_create_before_create_frm
+set @@debug_dbug= "+d,fail_create_before_create_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_create_before_create_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_alter_partition_after_write_frm
+set @@debug_dbug= "+d,fail_alter_partition_after_write_frm";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 CONVERT PARTITION p10 TO TABLE tp10;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS tp10;
+Warnings:
+Note 1051 Unknown table 'test.tp10'
+set @@debug_dbug= @save_dbug;
+# Iterating 14 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_convert_partition_1
+set @@debug_dbug= "+d,fail_convert_partition_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_convert_partition_2
+set @@debug_dbug= "+d,fail_convert_partition_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_convert_partition_3
+set @@debug_dbug= "+d,fail_convert_partition_3";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_convert_partition_4
+set @@debug_dbug= "+d,fail_convert_partition_4";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_convert_partition_5
+set @@debug_dbug= "+d,fail_convert_partition_5";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_convert_partition_6
+set @@debug_dbug= "+d,fail_convert_partition_6";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_convert_partition_7
+set @@debug_dbug= "+d,fail_convert_partition_7";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_convert_partition_8
+set @@debug_dbug= "+d,fail_convert_partition_8";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_convert_partition_9
+set @@debug_dbug= "+d,fail_convert_partition_9";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+RESET MASTER;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = 'MyISAM';
+INSERT INTO t2 VALUES (40, "40 from t2"), (50, "50 from t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY LIST (a)
+(PARTITION p0 VALUES IN (0,1,2,3,4,5,6,7,8,9),
+PARTITION p10 VALUES IN (11,12,13,14,15,16,17,18,19),
+PARTITION p20 VALUES IN (25,26,27,28,29),
+PARTITION p30 VALUES IN (31,32,33,34,35,36,37,38,39));
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 CONVERT TABLE t2 TO PARTITION p40 VALUES IN (40, 50);
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p10.MYD
+t1#P#p10.MYI
+t1#P#p20.MYD
+t1#P#p20.MYI
+t1#P#p30.MYD
+t1#P#p30.MYI
+t1.frm
+t1.par
+t2.MYD
+t2.MYI
+t2.frm
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY LIST (`a`)
+(PARTITION `p0` VALUES IN (0,1,2,3,4,5,6,7,8,9) ENGINE = MyISAM,
+ PARTITION `p10` VALUES IN (11,12,13,14,15,16,17,18,19) ENGINE = MyISAM,
+ PARTITION `p20` VALUES IN (25,26,27,28,29) ENGINE = MyISAM,
+ PARTITION `p30` VALUES IN (31,32,33,34,35,36,37,38,39) ENGINE = MyISAM)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+40 40 from t2
+50 50 from t2
+UNLOCK TABLES;
+DROP TABLE t1;
+DROP TABLE IF EXISTS t2;
+set @@debug_dbug= @save_dbug;
+# Iterating 23 fail-points
+set @save_dbug= @@debug_dbug;
+# Fail-point 1: fail_change_partition_1
+set @@debug_dbug= "+d,fail_change_partition_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 2: fail_change_partition_2
+set @@debug_dbug= "+d,fail_change_partition_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 3: fail_change_partition_3
+set @@debug_dbug= "+d,fail_change_partition_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 4: fail_alter_partition_alloc_parts
+set @@debug_dbug= "+d,fail_alter_partition_alloc_parts";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_alloc_parts: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_alloc_parts: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1041 Out of memory.
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 5: fail_alter_partition_add
+set @@debug_dbug= "+d,fail_alter_partition_add";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_add: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_add: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 6: fail_change_partition_add_parts_1
+set @@debug_dbug= "+d,fail_change_partition_add_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 7: fail_change_partition_add_parts_2
+set @@debug_dbug= "+d,fail_change_partition_add_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 8: fail_change_partition_add_parts_3
+set @@debug_dbug= "+d,fail_change_partition_add_parts_3";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_add_parts_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_add_parts_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 9: fail_change_partition_4
+set @@debug_dbug= "+d,fail_change_partition_4";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 10: fail_change_partition_5
+set @@debug_dbug= "+d,fail_change_partition_5";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 11: fail_alter_partition_rename_table
+set @@debug_dbug= "+d,fail_alter_partition_rename_table";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_table: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_table: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+Error 1030 Got error 0 "Internal error/check (Not system error)" from storage engine MyISAM
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 12: fail_alter_partition_rename_to_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_to_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_to_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_to_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 13: fail_change_partition_rename_parts_1
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 14: fail_alter_partition_rename_added_part
+set @@debug_dbug= "+d,fail_alter_partition_rename_added_part";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_added_part: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_added_part: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 15: fail_change_partition_rename_parts_2
+set @@debug_dbug= "+d,fail_change_partition_rename_parts_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_rename_parts_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_rename_parts_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 16: fail_alter_partition_rename_drop_backup
+set @@debug_dbug= "+d,fail_alter_partition_rename_drop_backup";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_rename_drop_backup: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_rename_drop_backup: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 17: fail_change_partition_6
+set @@debug_dbug= "+d,fail_change_partition_6";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 18: fail_change_partition_7
+set @@debug_dbug= "+d,fail_change_partition_7";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 19: fail_change_partition_8
+set @@debug_dbug= "+d,fail_change_partition_8";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 20: fail_change_partition_9
+set @@debug_dbug= "+d,fail_change_partition_9";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_change_partition_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_change_partition_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 21: fail_alter_partition_binlog_1
+set @@debug_dbug= "+d,fail_alter_partition_binlog_1";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
+set @@debug_dbug= @save_dbug;
+# Fail-point 22: fail_alter_partition_binlog_2
+set @@debug_dbug= "+d,fail_alter_partition_binlog_2";
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+ALTER,MyISAM,1,test,t1,id: 1,MyISAM,1,test,t1,id: 2
+DROP TABLE t1;
+RESET MASTER;
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = 'MyISAM'
+PARTITION BY HASH (a) PARTITIONS 5;
+INSERT INTO t1 VALUES
+(1, "Original from partition p0"),
+(2, "Original from partition p0"),
+(3, "Original from partition p0"),
+(4, "Original from partition p0"),
+(11, "Original from partition p1"),
+(12, "Original from partition p1"),
+(13, "Original from partition p1"),
+(14, "Original from partition p1");
+# d,fail_alter_partition_binlog_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLE t1 WRITE;
+ALTER TABLE t1 COALESCE PARTITION 2;
+ERROR HY000: Unknown error
+# d,fail_alter_partition_binlog_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1105 Unknown error
+db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
+t1#P#p1.MYD
+t1#P#p1.MYI
+t1#P#p2.MYD
+t1#P#p2.MYI
+t1#P#p3.MYD
+t1#P#p3.MYI
+t1#P#p4.MYD
+t1#P#p4.MYI
+t1.frm
+t1.par
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+ PARTITION BY HASH (`a`)
+PARTITIONS 5
SELECT * FROM t1;
a b
1 Original from partition p0
@@ -4081,4 +21782,4 @@ a b
4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-SET SESSION debug_dbug=@save_dbug;
+set @@debug_dbug= @save_dbug;
diff --git a/mysql-test/suite/parts/r/partition_debug.result b/mysql-test/suite/parts/r/partition_debug.result
index 5afb2b45926..04a27cd9b06 100644
--- a/mysql-test/suite/parts/r/partition_debug.result
+++ b/mysql-test/suite/parts/r/partition_debug.result
@@ -25,23 +25,11 @@ SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_1: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -75,9 +63,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_1: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -88,7 +87,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_1: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -122,7 +121,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -135,28 +133,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_2: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -190,9 +177,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_2: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -203,7 +201,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_2: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -237,7 +235,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -250,28 +247,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_3: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -305,9 +291,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_3: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -318,7 +315,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_3: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -352,7 +349,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -365,28 +361,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_4: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -420,11 +405,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_4: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_4: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -458,7 +454,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -471,28 +466,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_5: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -526,11 +510,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_5: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_5: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -564,7 +559,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -577,28 +571,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_6: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -632,11 +615,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_6: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_6: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -670,7 +664,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -683,28 +676,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_7: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -738,11 +720,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_7: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_7: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -776,7 +769,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -789,28 +781,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_8: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -844,9 +825,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_8: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -857,7 +849,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_8: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -891,7 +883,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -904,28 +895,17 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_9: BEFORE crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -959,9 +939,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_9: AFTER crash
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -972,7 +963,7 @@ t1.par
t2.MYD
t2.MYI
t2.frm
-# State after crash recovery
+# d,exchange_partition_abort_9: AFTER recovery
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1006,7 +997,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1019,6 +1009,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET @save_dbug=@@debug_dbug;
@@ -1063,21 +1054,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
# d,exchange_partition_fail_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1111,7 +1093,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1124,16 +1105,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_2: BEFORE failure
+# d,exchange_partition_fail_1: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1167,21 +1150,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_2: AFTER failure
+# d,exchange_partition_fail_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1215,7 +1190,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1228,16 +1202,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_3";
+SET SESSION debug_dbug="+d,exchange_partition_fail_2";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_3: BEFORE failure
+# d,exchange_partition_fail_2: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1271,21 +1247,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t2' to './test/#sql-exchange' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_3: AFTER failure
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1319,7 +1286,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1332,16 +1298,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_4: BEFORE failure
+# d,exchange_partition_fail_2: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1375,21 +1343,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_4: AFTER failure
+# d,exchange_partition_fail_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1423,7 +1383,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1436,16 +1395,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_5";
+SET SESSION debug_dbug="+d,exchange_partition_fail_3";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_5: BEFORE failure
+# d,exchange_partition_fail_3: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1479,21 +1440,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_5: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1527,7 +1479,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1540,16 +1491,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_6";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_6: BEFORE failure
+# d,exchange_partition_fail_3: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1583,21 +1536,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_6: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1631,7 +1576,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1644,16 +1588,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+SET SESSION debug_dbug="+d,exchange_partition_fail_4";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_7: BEFORE failure
+# d,exchange_partition_fail_4: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1687,21 +1633,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/#sql-exchange' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_7: AFTER failure
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1735,7 +1672,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1748,16 +1684,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_8";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_8: BEFORE failure
+# d,exchange_partition_fail_4: BEFORE failure (under LOCK TABLE)
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1791,21 +1729,13 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_8: AFTER failure
+# d,exchange_partition_fail_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1839,7 +1769,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1852,16 +1781,18 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
-SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+SET SESSION debug_dbug="+d,exchange_partition_fail_5";
CREATE TABLE t2 (a INT, b VARCHAR(64));
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# d,exchange_partition_fail_9: BEFORE failure
+# d,exchange_partition_fail_5: BEFORE failure
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1895,21 +1826,12 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_9: AFTER failure
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.MYD
t1#P#p0.MYI
@@ -1931,19 +1853,18 @@ t1 CREATE TABLE `t1` (
PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
a b
+1 Original from partition p0
11 Original from partition p1
12 Original from partition p1
13 Original from partition p1
14 Original from partition p1
+2 Original from partition p0
21 Original from partition p1
22 Original from partition p1
23 Original from partition p1
24 Original from partition p1
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
-DROP TABLE t1;
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1952,33 +1873,27 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
a b
-1 Original from partition p0
-2 Original from partition p0
-3 Original from partition p0
-4 Original from partition p0
-DROP TABLE t2;
-SET SESSION debug_dbug=@save_dbug;
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
#
-# MDEV-22165 CONVERT PARTITION: move in partition from existing table
+# Reading backup ddl log file
#
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_1: BEFORE failure
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_5: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -1987,39 +1902,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2028,49 +1942,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_2: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_6";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2079,39 +1999,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2120,49 +2038,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_3: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2171,39 +2095,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2212,49 +2135,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_4: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_7";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2263,39 +2192,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2304,49 +2231,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_5: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2355,39 +2288,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2396,49 +2328,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_6: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_8";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2447,39 +2385,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2488,49 +2424,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_7: BEFORE failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2539,39 +2481,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2580,49 +2521,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_8: BEFORE failure
+SET SESSION debug_dbug=@save_dbug;
+SET SESSION debug_dbug="+d,exchange_partition_fail_9";
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2631,39 +2578,37 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2672,90 +2617,55 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t2;
-x
-32
-42
-52
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_9: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1.frm
-t1.par
-t2.MYD
-t2.MYI
-t2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure
+CREATE TABLE t2 (a INT, b VARCHAR(64));
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64)) PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure (under LOCK TABLE)
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2764,49 +2674,38 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
-DROP TABLE t1;
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
-create or replace table t2 (x int primary key);
-insert into t2 values (32), (42), (52);
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30));
-insert into t1 values (2), (12), (22);
-# d,fail_convert_partition_11: BEFORE failure
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
+t1#P#p0.MYD
+t1#P#p0.MYI
t1#P#p1.MYD
t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
t1.frm
t1.par
t2.MYD
@@ -2815,2372 +2714,39 @@ t2.frm
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM)
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = MyISAM,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
SELECT * FROM t1;
-x
-12
-2
-22
+a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-x
-32
-42
-52
-alter table t1 convert table t2 to partition pn values less than maxvalue;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_11: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-SHOW CREATE TABLE t2;
SELECT * FROM t2;
-DROP TABLE t2;
-set session debug_dbug=@save_dbug;
-#
-# MDEV-22166 CONVERT PARTITION: move out partition into a table
-#
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_create_before_create_frm";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_create_before_create_frm: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_create_before_create_frm: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_create_before_create_frm: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_create_before_create_frm: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_alter_partition_after_write_frm";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_alter_partition_after_write_frm: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_alter_partition_after_write_frm: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_alter_partition_after_write_frm: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_alter_partition_after_write_frm: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,error_convert_partition_00";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,error_convert_partition_00: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Error on rename of './test/t1#P#p2' to './test/tp2' (errno: 137 "No more records (read after end of file)")
-# d,error_convert_partition_00: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,error_convert_partition_00: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Error on rename of './test/t1#P#p2' to './test/tp2' (errno: 137 "No more records (read after end of file)")
-# d,error_convert_partition_00: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_1: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_1: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_1: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_2: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_2: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_2: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_3: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_3: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_3: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_4: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_4: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_4: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_5: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_5: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_5: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_6: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_6: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_6: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_7: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_7: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_7: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_8: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_8: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_8: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_9: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_9: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_9: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-UNLOCK TABLES;
-DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
-# Already finished DDL logging, so tp2 now exists:
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_11: BEFORE failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-alter table t1 convert partition p2 to table tp2;
-ERROR HY000: Unknown error
-# d,fail_convert_partition_11: AFTER failure
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-2
-22
-32
-42
-52
-DROP TABLE t1;
-create or replace table t1 (x int primary key)
-partition by range(x) (
-partition p1 values less than (10),
-partition p2 values less than (20),
-partition p3 values less than (30),
-partition p4 values less than (40),
-partition p5 values less than (50),
-partition pn values less than maxvalue);
-insert into t1 values (2), (12), (22), (32), (42), (52);
-# d,fail_convert_partition_11: BEFORE failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
-LOCK TABLE t1 WRITE;
-alter table t1 convert partition p2 to table tp2;
-ERROR 42S01: Table 'tp2' already exists
-# d,fail_convert_partition_11: AFTER failure (under LOCK TABLE)
-db.opt
-t1#P#p1.MYD
-t1#P#p1.MYI
-t1#P#p2.MYD
-t1#P#p2.MYI
-t1#P#p3.MYD
-t1#P#p3.MYI
-t1#P#p4.MYD
-t1#P#p4.MYI
-t1#P#p5.MYD
-t1#P#p5.MYI
-t1#P#pn.MYD
-t1#P#pn.MYI
-t1.frm
-t1.par
-tp2.MYD
-tp2.MYI
-tp2.frm
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
- PARTITION BY RANGE (`x`)
-(PARTITION `p1` VALUES LESS THAN (10) ENGINE = MyISAM,
- PARTITION `p2` VALUES LESS THAN (20) ENGINE = MyISAM,
- PARTITION `p3` VALUES LESS THAN (30) ENGINE = MyISAM,
- PARTITION `p4` VALUES LESS THAN (40) ENGINE = MyISAM,
- PARTITION `p5` VALUES LESS THAN (50) ENGINE = MyISAM,
- PARTITION `pn` VALUES LESS THAN MAXVALUE ENGINE = MyISAM)
-SELECT * FROM t1;
-x
-12
-2
-22
-32
-42
-52
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
UNLOCK TABLES;
DROP TABLE t1;
-set session debug_dbug=@save_dbug;
-show create table tp2;
-Table Create Table
-tp2 CREATE TABLE `tp2` (
- `x` int(11) NOT NULL,
- PRIMARY KEY (`x`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select * from tp2;
-x
-12
-drop table tp2;
+DROP TABLE t2;
+SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/r/partition_debug_innodb.result b/mysql-test/suite/parts/r/partition_debug_innodb.result
index db88e714872..5ed54fa3bcb 100644
--- a/mysql-test/suite/parts/r/partition_debug_innodb.result
+++ b/mysql-test/suite/parts/r/partition_debug_innodb.result
@@ -12,25 +12,13 @@ SET @save_dbug=@@debug_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_1";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_1: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -61,9 +49,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_1: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -71,7 +70,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_1: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -102,7 +101,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -115,30 +113,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_2";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_2: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -169,9 +156,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_2: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -179,7 +177,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_2: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -210,7 +208,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -223,30 +220,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_3";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_3: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -277,9 +263,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_3: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -287,7 +284,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_3: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -318,7 +315,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -331,30 +327,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_4";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_4: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -385,11 +370,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_4: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_4: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -420,7 +416,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -433,30 +428,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_5";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_5: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -487,11 +471,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_5: AFTER crash
#sql-exchange.frm
-# State after crash recovery
+# d,exchange_partition_abort_5: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -522,7 +517,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -535,30 +529,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_6";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_6: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -589,11 +572,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_6: AFTER crash
#sql-exchange.ibd
-# State after crash recovery
+# d,exchange_partition_abort_6: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -624,7 +618,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -637,30 +630,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_7";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_7: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -691,11 +673,22 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_7: AFTER crash
#sql-exchange.ibd
-# State after crash recovery
+# d,exchange_partition_abort_7: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -726,7 +719,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -739,30 +731,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_8";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_8: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -793,9 +774,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_8: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -803,7 +795,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_8: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -834,7 +826,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -847,30 +838,19 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_abort_9";
CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
-SHOW CREATE TABLE t2;
-Table Create Table
-t2 CREATE TABLE `t2` (
- `a` int(11) DEFAULT NULL,
- `b` varchar(64) DEFAULT NULL
-) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
-a b
-5 Original from table t2
-6 Original from table t2
-7 Original from table t2
-8 Original from table t2
CREATE TABLE t1 (a INT, b VARCHAR(64))
ENGINE = InnoDB
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN MAXVALUE);
INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
-# State before crash
+# d,exchange_partition_abort_9: BEFORE crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -901,9 +881,20 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+5 Original from table t2
+6 Original from table t2
+7 Original from table t2
+8 Original from table t2
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Lost connection to server during query
-# State after crash (before recovery)
+# d,exchange_partition_abort_9: AFTER crash
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -911,7 +902,7 @@ t1.frm
t1.par
t2.frm
t2.ibd
-# State after crash recovery
+# d,exchange_partition_abort_9: AFTER recovery
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -942,7 +933,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -955,6 +945,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET @save_dbug=@@debug_dbug;
@@ -998,6 +989,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_1: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1010,9 +1037,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_1: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_1: AFTER failure
+# d,exchange_partition_fail_1: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1043,7 +1118,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1056,6 +1130,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_2";
@@ -1098,6 +1174,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_2: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1110,9 +1222,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_2: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_2: AFTER failure
+# d,exchange_partition_fail_2: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1143,7 +1303,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1156,6 +1315,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_3";
@@ -1198,6 +1359,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1210,9 +1407,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_3: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/t2' to './test/#sql-exchange' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_3: AFTER failure
+ERROR HY000: Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_3: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t2' to '#TMP' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1243,7 +1488,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1256,6 +1500,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_4";
@@ -1298,6 +1544,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_4: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1310,9 +1592,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_4: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_4: AFTER failure
+# d,exchange_partition_fail_4: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1343,7 +1673,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1356,6 +1685,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_5";
@@ -1398,6 +1729,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_5: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1410,9 +1777,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_5: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_5: AFTER failure
+# d,exchange_partition_fail_5: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of './test/t1#P#p0' to './test/t2' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1443,7 +1858,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1456,6 +1870,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_6";
@@ -1498,6 +1914,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_6: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1510,9 +1962,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_6: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_6: AFTER failure
+# d,exchange_partition_fail_6: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1543,7 +2043,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1556,6 +2055,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_7";
@@ -1598,6 +2099,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1610,9 +2147,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_7: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
-ERROR HY000: Error on rename of './test/#sql-exchange' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
-# d,exchange_partition_fail_7: AFTER failure
+ERROR HY000: Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
+# d,exchange_partition_fail_7: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1025 Error on rename of '#TMP' to './test/t1#P#p0' (errno: 0 "Internal error/check (Not system error)")
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1643,7 +2228,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1656,6 +2240,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_8";
@@ -1698,6 +2284,42 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_8: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1710,9 +2332,57 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_8: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_8: AFTER failure
+# d,exchange_partition_fail_8: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1743,7 +2413,6 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1756,6 +2425,8 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
SET SESSION debug_dbug="+d,exchange_partition_fail_9";
@@ -1798,21 +2469,105 @@ a b
24 Original from partition p1
3 Original from partition p0
4 Original from partition p0
-SHOW CREATE TABLE t2;
+ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
+ERROR HY000: Error in DDL log
+# d,exchange_partition_fail_9: AFTER failure
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
Table Create Table
-t2 CREATE TABLE `t2` (
+t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL,
`b` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-SELECT * FROM t2;
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
a b
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
5 Original from table t2
6 Original from table t2
7 Original from table t2
8 Original from table t2
+SHOW CREATE TABLE t2;
+Table Create Table
+t2 CREATE TABLE `t2` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+SELECT * FROM t2;
+a b
+1 Original from partition p0
+2 Original from partition p0
+3 Original from partition p0
+4 Original from partition p0
+#
+# Reading backup ddl log file
+#
+DROP TABLE t1;
+DROP TABLE t2;
+CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
+INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+CREATE TABLE t1 (a INT, b VARCHAR(64))
+ENGINE = InnoDB
+PARTITION BY RANGE (a)
+(PARTITION p0 VALUES LESS THAN (10),
+PARTITION p1 VALUES LESS THAN MAXVALUE);
+INSERT INTO t1 VALUES (1, "Original from partition p0"), (2, "Original from partition p0"), (3, "Original from partition p0"), (4, "Original from partition p0"), (11, "Original from partition p1"), (12, "Original from partition p1"), (13, "Original from partition p1"), (14, "Original from partition p1"), (21, "Original from partition p1"), (22, "Original from partition p1"), (23, "Original from partition p1"), (24, "Original from partition p1");
+# d,exchange_partition_fail_9: BEFORE failure (under LOCK TABLE)
+db.opt
+t1#P#p0.ibd
+t1#P#p1.ibd
+t1.frm
+t1.par
+t2.frm
+t2.ibd
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ `b` varchar(64) DEFAULT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=latin1
+ PARTITION BY RANGE (`a`)
+(PARTITION `p0` VALUES LESS THAN (10) ENGINE = InnoDB,
+ PARTITION `p1` VALUES LESS THAN MAXVALUE ENGINE = InnoDB)
+SELECT * FROM t1;
+a b
+1 Original from partition p0
+11 Original from partition p1
+12 Original from partition p1
+13 Original from partition p1
+14 Original from partition p1
+2 Original from partition p0
+21 Original from partition p1
+22 Original from partition p1
+23 Original from partition p1
+24 Original from partition p1
+3 Original from partition p0
+4 Original from partition p0
+LOCK TABLES t1 WRITE, t2 WRITE;
ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
ERROR HY000: Error in DDL log
-# d,exchange_partition_fail_9: AFTER failure
+# d,exchange_partition_fail_9: AFTER failure (under LOCK TABLE)
+show warnings;
+Level Code Message
+Error 1565 Error in DDL log
db.opt
t1#P#p0.ibd
t1#P#p1.ibd
@@ -1843,7 +2598,6 @@ a b
6 Original from table t2
7 Original from table t2
8 Original from table t2
-DROP TABLE t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
@@ -1856,5 +2610,7 @@ a b
2 Original from partition p0
3 Original from partition p0
4 Original from partition p0
+UNLOCK TABLES;
+DROP TABLE t1;
DROP TABLE t2;
SET SESSION debug_dbug=@save_dbug;
diff --git a/mysql-test/suite/parts/t/partition_debug.test b/mysql-test/suite/parts/t/partition_debug.test
index 2f8994705f3..c94e1cad1f9 100644
--- a/mysql-test/suite/parts/t/partition_debug.test
+++ b/mysql-test/suite/parts/t/partition_debug.test
@@ -46,118 +46,10 @@ let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"),
let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64));
let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $show_statement= SHOW CREATE TABLE t2;
+let $select_statement= SELECT * FROM t2;
+let $drop_statement= DROP TABLE t2;
let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
--source suite/parts/inc/partition_crash_exchange.inc
let $fail_statement= $crash_statement;
--source suite/parts/inc/partition_fail_exchange.inc
-
---echo #
---echo # MDEV-22165 CONVERT PARTITION: move in partition from existing table
---echo #
-let $create_statement= create or replace table t1 (x int primary key)
- partition by range(x) (
- partition p1 values less than (10),
- partition p2 values less than (20),
- partition p3 values less than (30));
-
-let $create_statement2= create or replace table t2 (x int primary key);
-let $insert_statement= insert into t1 values (2), (12), (22);
-let $insert_statement2= insert into t2 values (32), (42), (52);
-
-let $fail_statement= alter table t1 convert table t2 to partition pn values less than maxvalue;
-
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
---source suite/parts/inc/partition_fail_t2.inc
-set session debug_dbug=@save_dbug;
-
-
---echo #
---echo # MDEV-22166 CONVERT PARTITION: move out partition into a table
---echo #
-let $create_statement= create or replace table t1 (x int primary key)
- partition by range(x) (
- partition p1 values less than (10),
- partition p2 values less than (20),
- partition p3 values less than (30),
- partition p4 values less than (40),
- partition p5 values less than (50),
- partition pn values less than maxvalue);
-
-let $insert_statement= insert into t1 values (2), (12), (22), (32), (42), (52);
-let $fail_statement= alter table t1 convert partition p2 to table tp2;
-
-set @save_dbug=@@debug_dbug;
-set session debug_dbug="+d,fail_create_before_create_frm";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_alter_partition_after_write_frm";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,error_convert_partition_00";
---source suite/parts/inc/partition_fail.inc
-#set session debug_dbug=@save_dbug;
-#set session debug_dbug="+d,fail_convert_partition_01";
-#--source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_1";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_2";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_3";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_4";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_5";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_6";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_7";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_8";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_9";
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-set session debug_dbug="+d,fail_convert_partition_11";
---echo # Already finished DDL logging, so tp2 now exists:
---source suite/parts/inc/partition_fail.inc
-set session debug_dbug=@save_dbug;
-show create table tp2;
-select * from tp2;
-drop table tp2;
diff --git a/mysql-test/suite/parts/t/partition_debug_innodb.test b/mysql-test/suite/parts/t/partition_debug_innodb.test
index 1a408cef95d..40fe6768994 100644
--- a/mysql-test/suite/parts/t/partition_debug_innodb.test
+++ b/mysql-test/suite/parts/t/partition_debug_innodb.test
@@ -81,6 +81,9 @@ let $insert_statement= INSERT INTO t1 VALUES (1, "Original from partition p0"),
let $create_statement2= CREATE TABLE t2 (a INT, b VARCHAR(64)) ENGINE = InnoDB;
let $insert_statement2= INSERT INTO t2 VALUES (5, "Original from table t2"), (6, "Original from table t2"), (7, "Original from table t2"), (8, "Original from table t2");
+let $show_statement= SHOW CREATE TABLE t2;
+let $select_statement= SELECT * FROM t2;
+let $drop_statement= DROP TABLE t2;
let $crash_statement= ALTER TABLE t1 EXCHANGE PARTITION p0 WITH TABLE t2;
--source suite/parts/inc/partition_crash_exchange.inc
let $fail_statement= $crash_statement;