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/main/consistent_snapshot.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/main/consistent_snapshot.test')
-rw-r--r-- | mysql-test/main/consistent_snapshot.test | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/mysql-test/main/consistent_snapshot.test b/mysql-test/main/consistent_snapshot.test new file mode 100644 index 00000000..a481e757 --- /dev/null +++ b/mysql-test/main/consistent_snapshot.test @@ -0,0 +1,69 @@ +--source include/have_innodb.inc + +# Save the initial number of concurrent sessions +--source include/count_sessions.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +connect (con1,localhost,root,,); +connect (con2,localhost,root,,); + +--echo ### Test 1: +--echo ### - While a consistent snapshot transaction is executed, +--echo ### no external inserts should be visible to the transaction. + +connection con1; +CREATE TABLE t1 (a INT) ENGINE=innodb; +START TRANSACTION WITH CONSISTENT SNAPSHOT; + +connection con2; +INSERT INTO t1 VALUES(1); + +connection con1; +SELECT * FROM t1; # if consistent snapshot was set as expected, we +# should see nothing. +COMMIT; + +--echo ### Test 2: +--echo ### - For any non-consistent snapshot transaction, external +--echo ### committed inserts should be visible to the transaction. + +DELETE FROM t1; +START TRANSACTION; # Now we omit WITH CONSISTENT SNAPSHOT + +connection con2; +INSERT INTO t1 VALUES(1); + +connection con1; +SELECT * FROM t1; # if consistent snapshot was not set, as expected, we +# should see 1. +COMMIT; + +--echo ### Test 3: +--echo ### - Bug#44664: valgrind warning for COMMIT_AND_CHAIN and ROLLBACK_AND_CHAIN +--echo ### Chaining a transaction does not retain consistency level. + +START TRANSACTION WITH CONSISTENT SNAPSHOT; +DELETE FROM t1; +COMMIT WORK AND CHAIN; + +connection con2; +INSERT INTO t1 VALUES(1); + +connection con1; +SELECT * FROM t1; # if consistent snapshot was not set, as expected, we +# should see 1. +COMMIT; + +connection default; +disconnect con1; +disconnect con2; +DROP TABLE t1; + +# End of 4.1 tests + +# Wait till all disconnects are completed +--source include/wait_until_count_sessions.inc + |