diff options
author | Satya B <satya.bn@sun.com> | 2009-04-30 16:33:44 +0530 |
---|---|---|
committer | Satya B <satya.bn@sun.com> | 2009-04-30 16:33:44 +0530 |
commit | c6d6e889cd2f283b85a40fb4206ff1b430efb51c (patch) | |
tree | 04d21fa6617b72335ff03207b3c4599954117559 /mysql-test/t/myisam_debug.test | |
parent | a5badbfe6d704d70c528c5aeb028e61fa8337c4c (diff) | |
download | mariadb-git-c6d6e889cd2f283b85a40fb4206ff1b430efb51c.tar.gz |
Addition to the fix for BUG#40827 - Killing insert-select to MyISAM can cause
table corruption
Moved the testcase from the file myisam.test to the new testfile
mysiam_debug.test
mysql-test/r/myisam.result:
Removed result file for BUG#40827
mysql-test/r/myisam_debug.result:
Result file for BUG#40827
mysql-test/t/myisam.test:
Removed testcase for BUG#40827
mysql-test/t/myisam_debug.test:
TestCase for BUG#40827
Diffstat (limited to 'mysql-test/t/myisam_debug.test')
-rw-r--r-- | mysql-test/t/myisam_debug.test | 54 |
1 files changed, 54 insertions, 0 deletions
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; |