Current Path : /home/usr.opt/mysql57/mysql-test/r/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //home/usr.opt/mysql57/mysql-test/r/flush_block_commit.result |
# Save the initial number of concurrent sessions # Establish connection con1 (user=root) # Establish connection con2 (user=root) # Establish connection con3 (user=root) # Switch to connection con1 DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a INT) ENGINE=innodb; BEGIN; INSERT INTO t1 VALUES(1); # Switch to connection con2 FLUSH TABLES WITH READ LOCK; # Switch to connection con1 # Sending: COMMIT; # Switch to connection con2 # Wait until COMMIT gets blocked. # Verify that 'con1' was blocked and data did not move. SELECT * FROM t1; a UNLOCK TABLES; # Switch to connection con1 # Reaping COMMIT # Switch to connection con1 BEGIN; SELECT * FROM t1 FOR UPDATE; a 1 # Switch to connection con2 BEGIN; SELECT * FROM t1 FOR UPDATE; # Switch to connection con3 FLUSH TABLES WITH READ LOCK; # Switch to connection con1 COMMIT; # Switch to connection con2 a 1 COMMIT; # Switch to connection con3 UNLOCK TABLES; # Switch to connection con2 COMMIT; # Switch to connection con1 BEGIN; INSERT INTO t1 VALUES(10); FLUSH TABLES WITH READ LOCK; # Switch to connection con2 FLUSH TABLES WITH READ LOCK; UNLOCK TABLES; BEGIN; SELECT * FROM t1; a 1 10 SHOW CREATE DATABASE test; Database Create Database test CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ COMMIT; # Cleanup # Switch to connection default and close connections con1, con2, con3 # We commit open transactions when we disconnect: only then we can # drop the table. DROP TABLE t1; # End of 4.1 tests # Wait till all disconnects are completed