--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