CREATE TABLE t(a INT PRIMARY KEY, b INT)ENGINE=InnoDB; INSERT INTO t VALUES(2,2),(4,4),(8,8),(16,16),(32,32); COMMIT; XA START '123'; INSERT INTO t VALUES(1,1); XA END '123'; XA PREPARE '123'; CONNECT con1,localhost,root,,; XA START '456'; INSERT INTO t VALUES(3,47),(5,67); UPDATE t SET b=2*b WHERE a BETWEEN 5 AND 8; XA END '456'; XA PREPARE '456'; CONNECT con2,localhost,root,,; XA START '789'; UPDATE t SET b=4*a WHERE a=32; XA END '789'; XA PREPARE '789'; CONNECT con3,localhost,root,,; # restart SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT * FROM t; a b 1 1 2 2 3 47 4 4 5 134 8 16 16 16 32 128 COMMIT; # restart SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT * FROM t; a b 1 1 2 2 3 47 4 4 5 134 8 16 16 16 32 128 COMMIT; XA RECOVER; formatID gtrid_length bqual_length data 1 3 0 123 1 3 0 456 1 3 0 789 XA ROLLBACK '123'; XA ROLLBACK '456'; XA COMMIT '789'; SELECT * FROM t; a b 2 2 4 4 8 8 16 16 32 128 DROP TABLE t;