diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
commit | 06eaf7232e9a920468c0f8d74dcf2fe8b555501c (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/innodb/t/innodb_bug38231.test | |
parent | Initial commit. (diff) | |
download | mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.tar.xz mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb_bug38231.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb_bug38231.test | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/innodb_bug38231.test b/mysql-test/suite/innodb/t/innodb_bug38231.test new file mode 100644 index 00000000..0c139c33 --- /dev/null +++ b/mysql-test/suite/innodb/t/innodb_bug38231.test @@ -0,0 +1,76 @@ +--source include/have_innodb.inc +# +# Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK +# http://bugs.mysql.com/38231 +# + +# skip this test in embedded mode because "TRUNCATE TABLE bug38231_1" +# hangs in that mode waiting for "lock_wait_timeout" although it is +# preceded by --send +-- source include/not_embedded.inc + +SET default_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_1; +CREATE TABLE bug38231_1 (a INT); + +-- connect (lock_gain,localhost,root,,) +-- connect (lock_wait1,localhost,root,,) +-- connect (lock_wait2,localhost,root,,) +-- connect (truncate_wait,localhost,root,,) + +-- connection lock_gain +SET autocommit=0; +LOCK TABLE bug38231_1 WRITE; + +-- connection lock_wait1 +SET autocommit=0; +-- send +LOCK TABLE bug38231_1 WRITE; + +-- connection lock_wait2 +SET autocommit=0; +-- send +LOCK TABLE bug38231_1 WRITE; + +-- connection truncate_wait +-- send +TRUNCATE TABLE bug38231_1; + +-- connection lock_gain +# this crashes the server if the bug is present +UNLOCK TABLES; + +# clean up + +# do not clean up - we do not know which of the three has been released +# so the --reap command may hang because the command that is being executed +# in that connection is still running/waiting +#-- connection lock_wait1 +#-- reap +#UNLOCK TABLES; +# +#-- connection lock_wait2 +#-- reap +#UNLOCK TABLES; +# +#-- connection truncate_wait +#-- reap + +-- connection default + +-- disconnect lock_gain +-- disconnect lock_wait1 +-- disconnect lock_wait2 +-- disconnect truncate_wait + +DROP TABLE bug38231_1; + +-- enable_query_log +-- enable_result_log + +-- connection default |