summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/myisam.result39
-rw-r--r--mysql-test/r/myisam_debug.result39
-rw-r--r--mysql-test/t/myisam.test52
-rw-r--r--mysql-test/t/myisam_debug.test54
4 files changed, 93 insertions, 91 deletions
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index c3eede79754..732b1b260f8 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -2252,43 +2252,4 @@ h+0 d + 0 e g + 0
1 1 3 0
1 1 4 0
DROP TABLE t1;
-#
-# BUG#40827 - Killing insert-select to MyISAM can cause table corruption
-#
-CREATE TABLE `t1` (
-`id` BIGINT(20) ,
-`id1` BIGINT(20) AUTO_INCREMENT,
-KEY(id1), KEY(id)
-) ENGINE=MyISAM;
-CREATE TABLE `t2` (
-`id` BIGINT(20) ,
-`id1` BIGINT(20) AUTO_INCREMENT,
-KEY (id1), KEY(id)
-) ENGINE=MyISAM;
-INSERT INTO t2 (id) VALUES (123);
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-INSERT INTO t2 (id) SELECT id FROM t2;
-# Switch to insert Connection
-SET SESSION debug='+d,wait_in_enable_indexes';
-# Send insert data
-INSERT INTO t1(id) SELECT id FROM t2;
-# Switch to default Connection
-# Wait for insert data to reach the debug point
-SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
-WHERE STATE = 'wait_in_enable_indexes' AND
-INFO = "INSERT INTO t1(id) SELECT id FROM t2"
-INTO @thread_id;
-KILL QUERY @thread_id;
-CHECK TABLE t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-DROP TABLE t1,t2;
End of 5.1 tests
diff --git a/mysql-test/r/myisam_debug.result b/mysql-test/r/myisam_debug.result
new file mode 100644
index 00000000000..c128bfffce9
--- /dev/null
+++ b/mysql-test/r/myisam_debug.result
@@ -0,0 +1,39 @@
+#
+# BUG#40827 - Killing insert-select to MyISAM can cause table corruption
+#
+CREATE TABLE `t1` (
+`id` BIGINT(20) ,
+`id1` BIGINT(20) AUTO_INCREMENT,
+KEY(id1), KEY(id)
+) ENGINE=MyISAM;
+CREATE TABLE `t2` (
+`id` BIGINT(20) ,
+`id1` BIGINT(20) AUTO_INCREMENT,
+KEY (id1), KEY(id)
+) ENGINE=MyISAM;
+INSERT INTO t2 (id) VALUES (123);
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+INSERT INTO t2 (id) SELECT id FROM t2;
+# Switch to insert Connection
+SET SESSION debug='+d,wait_in_enable_indexes';
+# Send insert data
+INSERT INTO t1(id) SELECT id FROM t2;
+# Switch to default Connection
+# Wait for insert data to reach the debug point
+SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE STATE = 'wait_in_enable_indexes' AND
+INFO = "INSERT INTO t1(id) SELECT id FROM t2"
+INTO @thread_id;
+KILL QUERY @thread_id;
+CHECK TABLE t1;
+Table Op Msg_type Msg_text
+test.t1 check status OK
+DROP TABLE t1,t2;
diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
index 21ee1cffbd0..ba6bc05cfea 100644
--- a/mysql-test/t/myisam.test
+++ b/mysql-test/t/myisam.test
@@ -1503,57 +1503,5 @@ SELECT h+0, d + 0, e, g + 0 FROM t1;
DROP TABLE t1;
---echo #
---echo # BUG#40827 - Killing insert-select to MyISAM can cause table corruption
---echo #
-
-CONNECT (insertConn, localhost, root,,);
-
-CREATE TABLE `t1` (
-`id` BIGINT(20) ,
-`id1` BIGINT(20) AUTO_INCREMENT,
- KEY(id1), KEY(id)
-) ENGINE=MyISAM;
-
-CREATE TABLE `t2` (
-`id` BIGINT(20) ,
-`id1` BIGINT(20) AUTO_INCREMENT,
- KEY (id1), KEY(id)
-) ENGINE=MyISAM;
-
-INSERT INTO t2 (id) VALUES (123);
-
-let $i = 10;
-while ($i)
-{
- INSERT INTO t2 (id) SELECT id FROM t2;
- dec $i;
-}
-
---echo # Switch to insert Connection
-CONNECTION insertConn;
-SET SESSION debug='+d,wait_in_enable_indexes';
---echo # Send insert data
-SEND INSERT INTO t1(id) SELECT id FROM t2;
-
---echo # Switch to default Connection
-CONNECTION default;
---echo # Wait for insert data to reach the debug point
-
-let $wait_condition=
- SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
- WHERE STATE = "wait_in_enable_indexes" AND
- INFO = "INSERT INTO t1(id) SELECT id FROM t2";
---source include/wait_condition.inc
-
-SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
-WHERE STATE = 'wait_in_enable_indexes' AND
-INFO = "INSERT INTO t1(id) SELECT id FROM t2"
-INTO @thread_id;
-
-KILL QUERY @thread_id;
-CHECK TABLE t1;
-DROP TABLE t1,t2;
-DISCONNECT insertConn;
--echo End of 5.1 tests
diff --git a/mysql-test/t/myisam_debug.test b/mysql-test/t/myisam_debug.test
new file mode 100644
index 00000000000..a73187cd2ca
--- /dev/null
+++ b/mysql-test/t/myisam_debug.test
@@ -0,0 +1,54 @@
+--source include/have_debug.inc
+
+--echo #
+--echo # BUG#40827 - Killing insert-select to MyISAM can cause table corruption
+--echo #
+
+CONNECT (insertConn, localhost, root,,);
+
+CREATE TABLE `t1` (
+`id` BIGINT(20) ,
+`id1` BIGINT(20) AUTO_INCREMENT,
+ KEY(id1), KEY(id)
+) ENGINE=MyISAM;
+
+CREATE TABLE `t2` (
+`id` BIGINT(20) ,
+`id1` BIGINT(20) AUTO_INCREMENT,
+ KEY (id1), KEY(id)
+) ENGINE=MyISAM;
+
+INSERT INTO t2 (id) VALUES (123);
+
+let $i = 10;
+while ($i)
+{
+ INSERT INTO t2 (id) SELECT id FROM t2;
+ dec $i;
+}
+
+--echo # Switch to insert Connection
+CONNECTION insertConn;
+SET SESSION debug='+d,wait_in_enable_indexes';
+--echo # Send insert data
+SEND INSERT INTO t1(id) SELECT id FROM t2;
+
+--echo # Switch to default Connection
+CONNECTION default;
+--echo # Wait for insert data to reach the debug point
+
+let $wait_condition=
+ SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
+ WHERE STATE = "wait_in_enable_indexes" AND
+ INFO = "INSERT INTO t1(id) SELECT id FROM t2";
+--source include/wait_condition.inc
+
+SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
+WHERE STATE = 'wait_in_enable_indexes' AND
+INFO = "INSERT INTO t1(id) SELECT id FROM t2"
+INTO @thread_id;
+
+KILL QUERY @thread_id;
+CHECK TABLE t1;
+DROP TABLE t1,t2;
+DISCONNECT insertConn;