--connect(c0, 127.0.0.1,root,,test,$MASTER_MYPORT,) --connection c0 SELECT @@log_bin, @@version, @@binlog_format; --echo --let $value = `SELECT @@log_bin` --let $assert_text = Binlog disabled --let $assert_cond = "$value" = "0" --source include/assert.inc CREATE TABLE `t1` ( `id` int(11) PRIMARY KEY, `type` int DEFAULT NULL, `name` varchar(20) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; --connect(c1, 127.0.0.1,root,,test,$MASTER_MYPORT,) --connect(c2, 127.0.0.1,root,,test,$MASTER_MYPORT,) --echo --echo 1) UPDATING THE SAME RECORD WITH THE SAME VALUE --echo ----------------------------------------------- INSERT INTO t1 VALUES (1,100,'abc'); --connection c1 --echo [connection c1] BEGIN; SELECT * FROM t1; --connection c2 --echo [connection c2] BEGIN; SELECT * FROM t1; --connection c1 --echo [connection c1] UPDATE t1 SET name = 'xyz' WHERE id = 1; SELECT ROW_COUNT(); SELECT * FROM t1; COMMIT; --connection c2 --echo [connection c2] --echo --let $value = `SELECT name FROM t1 WHERE id = 1 AND name = 'abc' AND type = 100` --let $assert_text = SEEING OLD VALUE --let $assert_cond = "$value" = "abc" --source include/assert.inc --echo UPDATE t1 SET name = 'xyz' WHERE id = 1 AND name IS NOT NULL; SELECT ROW_COUNT(); SELECT * FROM t1; --echo --let $value = `SELECT name FROM t1 WHERE id = 1` --let $assert_text = SEEING OLD VALUE --let $assert_cond = "$value" = "abc" --source include/assert.inc --echo COMMIT; SELECT * FROM t1; --echo --echo 2) UPDATING THE SAME RECORD WITH OTHER VALUE --echo -------------------------------------------- TRUNCATE t1; INSERT INTO t1 VALUES (1,100,'abc'); --connection c1 --echo [connection c1] BEGIN; SELECT * FROM t1; --connection c2 --echo [connection c2] BEGIN; SELECT * FROM t1; --connection c1 --echo [connection c1] UPDATE t1 SET name = 'xyz' WHERE id = 1; SELECT ROW_COUNT(); SELECT * FROM t1; COMMIT; --connection c2 --echo [connection c2] --echo --let $value = `SELECT name FROM t1 WHERE id = 1 AND name = 'abc' AND type = 100` --let $assert_text = SEEING OLD VALUE --let $assert_cond = "$value" = "abc" --source include/assert.inc --echo UPDATE t1 SET name = 'pqr' WHERE id = 1 AND name IS NOT NULL; SELECT ROW_COUNT(); SELECT * FROM t1; --echo --let $value = `SELECT name FROM t1 WHERE id = 1` --let $assert_text = SEEING NEW VALUE --let $assert_cond = "$value" = "pqr" --source include/assert.inc --echo COMMIT; SELECT * FROM t1; --disconnect c1 --disconnect c2