diff options
author | Vasil Dimov <vasil.dimov@oracle.com> | 2010-04-16 19:19:07 +0300 |
---|---|---|
committer | Vasil Dimov <vasil.dimov@oracle.com> | 2010-04-16 19:19:07 +0300 |
commit | eaadb377af7cf6145e324acd008d8f2d3cc00aaf (patch) | |
tree | 71463e53ee744af5c89101393ffdba2fdd955ff5 /mysql-test/t/innodb_bug38231.test | |
parent | 23dd437b8089c6f7e7b021c48bb8becdbe06c35b (diff) | |
download | mariadb-git-eaadb377af7cf6145e324acd008d8f2d3cc00aaf.tar.gz |
Move InnoDB mysql-tests to the innodb suite.
Diffstat (limited to 'mysql-test/t/innodb_bug38231.test')
-rw-r--r-- | mysql-test/t/innodb_bug38231.test | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/mysql-test/t/innodb_bug38231.test b/mysql-test/t/innodb_bug38231.test deleted file mode 100644 index 1611cb56203..00000000000 --- a/mysql-test/t/innodb_bug38231.test +++ /dev/null @@ -1,112 +0,0 @@ -# -# Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK -# http://bugs.mysql.com/38231 -# - --- source include/have_innodb.inc - -SET storage_engine=InnoDB; - -# we care only that the following SQL commands do not crash the server --- disable_query_log --- disable_result_log - -DROP TABLE IF EXISTS bug38231; -CREATE TABLE bug38231 (a INT); - --- connect (con1,localhost,root,,) --- connect (con2,localhost,root,,) --- connect (con3,localhost,root,,) - --- connection con1 -SET autocommit=0; -LOCK TABLE bug38231 WRITE; - --- connection con2 -SET autocommit=0; --- send -LOCK TABLE bug38231 WRITE; - -# When con1 does UNLOCK below this will release either con2 or con3 which are -# both waiting on LOCK. At the end we must first --reap and UNLOCK the -# connection that has been released, otherwise it will wait forever. We assume -# that the released connection will be the first one that has gained the LOCK, -# thus we force the order here - con2 does LOCK first, then con3. In other -# words we wait for LOCK from con2 above to be exected before doing LOCK in -# con3. --- connection con1 -let $wait_condition = - SELECT COUNT(*) = 1 FROM information_schema.processlist - WHERE info = 'LOCK TABLE bug38231 WRITE'; --- source include/wait_condition.inc -# the above enables query log, re-disable it --- disable_query_log - --- connection con3 -SET autocommit=0; --- send -LOCK TABLE bug38231 WRITE; - --- connection default --- send -TRUNCATE TABLE bug38231; - --- connection con1 -# Wait for TRUNCATE and the other two LOCKs to be executed; without this, -# sometimes UNLOCK executes before them. We assume there are no other -# sessions executing at the same time with the same SQL commands. -let $wait_condition = - SELECT COUNT(*) = 1 FROM information_schema.processlist - WHERE info = 'TRUNCATE TABLE bug38231'; --- source include/wait_condition.inc -let $wait_condition = - SELECT COUNT(*) = 2 FROM information_schema.processlist - WHERE info = 'LOCK TABLE bug38231 WRITE'; --- source include/wait_condition.inc -# the above enables query log, re-disable it --- disable_query_log - -# this crashes the server if the bug is present -UNLOCK TABLES; - -# clean up - --- connection con2 --- reap -UNLOCK TABLES; - --- connection con3 --- reap -UNLOCK TABLES; - --- connection default --- reap - --- disconnect con1 --- disconnect con2 --- disconnect con3 - -# test that TRUNCATE works with with row-level locks - --- enable_query_log --- enable_result_log - -INSERT INTO bug38231 VALUES (1), (10), (300); - --- connect (con4,localhost,root,,) - --- connection con4 -SET autocommit=0; -SELECT * FROM bug38231 FOR UPDATE; - --- connection default -TRUNCATE TABLE bug38231; - --- connection con4 -COMMIT; - --- connection default - --- disconnect con4 - -DROP TABLE bug38231; |