45 lines
861 B
Plaintext
45 lines
861 B
Plaintext
CREATE TABLE t1 (c1 INT , c2 CHAR(10), PRIMARY KEY (c1)) ENGINE = InnoDB;
|
|
INSERT INTO t1 VALUES(0, "0");
|
|
INSERT INTO t1 VALUES(1, "1");
|
|
INSERT INTO t1 VALUES(2, "2");
|
|
INSERT INTO t1 VALUES(3, "3");
|
|
SET AUTOCOMMIT=0;
|
|
BEGIN;
|
|
SELECT * FROM t1 FOR UPDATE;
|
|
c1 c2
|
|
0 0
|
|
1 1
|
|
2 2
|
|
3 3
|
|
SELECT * FROM t1 WHERE c1 <= 3;
|
|
c1 c2
|
|
0 0
|
|
1 1
|
|
2 2
|
|
3 3
|
|
SET DEBUG_SYNC='now WAIT_FOR waiting4';
|
|
SELECT trx_state, trx_query, trx_autocommit_non_locking
|
|
FROM INFORMATION_SCHEMA.INNODB_TRX
|
|
WHERE trx_state = 'LOCK WAIT'
|
|
ORDER BY trx_query;
|
|
trx_state trx_query trx_autocommit_non_locking
|
|
LOCK WAIT SELECT COUNT(*) FROM t1 LOCK IN SHARE MODE 0
|
|
LOCK WAIT SELECT COUNT(*) FROM t1 WHERE c1 >= 0 0
|
|
INSERT INTO t1 VALUES(4, '4');
|
|
COMMIT;
|
|
SELECT * FROM t1 WHERE c1 <= 4;
|
|
c1 c2
|
|
0 0
|
|
1 1
|
|
2 2
|
|
3 3
|
|
XA END '1';
|
|
XA PREPARE '1';
|
|
XA ROLLBACK '1';
|
|
COUNT(*)
|
|
5
|
|
COUNT(*)
|
|
5
|
|
DROP TABLE t1;
|
|
SET DEBUG_SYNC= 'RESET';
|