134 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| drop table if exists t1, t2;
 | |
| create table t1 (a int) engine=innodb;
 | |
| xa start 'test1';
 | |
| insert t1 values (10);
 | |
| xa end 'test1';
 | |
| xa prepare 'test1';
 | |
| xa rollback 'test1';
 | |
| select * from t1;
 | |
| a
 | |
| xa start 'test2';
 | |
| xa start 'test-bad';
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
 | |
| insert t1 values (20);
 | |
| xa prepare 'test2';
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
 | |
| xa end 'test2';
 | |
| xa prepare 'test2';
 | |
| xa commit 'test2';
 | |
| select * from t1;
 | |
| a
 | |
| 20
 | |
| xa start 'testa','testb';
 | |
| insert t1 values (30);
 | |
| commit;
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
 | |
| xa end 'testa','testb';
 | |
| begin;
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  IDLE state
 | |
| create table t2 (a int);
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  IDLE state
 | |
| xa start 'testa','testb';
 | |
| ERROR XAE08: XAER_DUPID: The XID already exists
 | |
| xa start 'testa','testb', 123;
 | |
| ERROR XAE08: XAER_DUPID: The XID already exists
 | |
| xa start 0x7465737462, 0x2030405060, 0xb;
 | |
| insert t1 values (40);
 | |
| xa end 'testb',' 0@P`',11;
 | |
| xa prepare 'testb',0x2030405060,11;
 | |
| start transaction;
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  PREPARED state
 | |
| xa recover;
 | |
| formatID	gtrid_length	bqual_length	data
 | |
| 11	5	5	testb 0@P`
 | |
| xa prepare 'testa','testb';
 | |
| xa recover;
 | |
| formatID	gtrid_length	bqual_length	data
 | |
| 11	5	5	testb 0@P`
 | |
| 1	5	5	testatestb
 | |
| xa commit 'testb',0x2030405060,11;
 | |
| ERROR XAE04: XAER_NOTA: Unknown XID
 | |
| xa rollback 'testa','testb';
 | |
| xa start 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz';
 | |
| ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 | |
| select * from t1;
 | |
| a
 | |
| 20
 | |
| drop table t1;
 | |
| drop table if exists t1;
 | |
| create table t1(a int, b int, c varchar(20), primary key(a)) engine = innodb;
 | |
| insert into t1 values(1, 1, 'a');
 | |
| insert into t1 values(2, 2, 'b');
 | |
| xa start 'a','b';
 | |
| update t1 set c = 'aa' where a = 1;
 | |
| xa start 'a','c';
 | |
| update t1 set c = 'bb' where a = 2;
 | |
| update t1 set c = 'bb' where a = 2;
 | |
| update t1 set c = 'aa' where a = 1;
 | |
| ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
 | |
| select count(*) from t1;
 | |
| count(*)
 | |
| 2
 | |
| xa end 'a','c';
 | |
| ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
 | |
| xa rollback 'a','c';
 | |
| xa start 'a','c';
 | |
| drop table t1;
 | |
| #
 | |
| # BUG#51342 - more xid crashing
 | |
| #
 | |
| CREATE TABLE t1(a INT) ENGINE=InnoDB;
 | |
| XA START 'x';
 | |
| SET SESSION autocommit=0;
 | |
| INSERT INTO t1 VALUES(1);
 | |
| SET SESSION autocommit=1;
 | |
| ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
 | |
| SELECT @@autocommit;
 | |
| @@autocommit
 | |
| 0
 | |
| INSERT INTO t1 VALUES(1);
 | |
| XA END 'x';
 | |
| XA COMMIT 'x' ONE PHASE;
 | |
| DROP TABLE t1;
 | |
| SET SESSION autocommit=1;
 | |
| End of 5.0 tests
 | |
| xa start 'a';
 | |
| xa end 'a';
 | |
| xa rollback 'a';
 | |
| xa start 'a';
 | |
| xa end 'a';
 | |
| xa rollback 'a';
 | |
| xa start 'a';
 | |
| xa end 'a';
 | |
| xa prepare 'a';
 | |
| xa commit 'a';
 | |
| xa start 'a';
 | |
| xa end 'a';
 | |
| xa prepare 'a';
 | |
| xa commit 'a';
 | |
| CREATE TABLE t1(a INT, KEY(a)) ENGINE=InnoDB;
 | |
| INSERT INTO t1 VALUES(1),(2);
 | |
| BEGIN;
 | |
| UPDATE t1 SET a=3 WHERE a=1;
 | |
| BEGIN;
 | |
| UPDATE t1 SET a=4 WHERE a=2;
 | |
| UPDATE t1 SET a=5 WHERE a=2;
 | |
| UPDATE t1 SET a=5 WHERE a=1;
 | |
| ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
 | |
| ROLLBACK;
 | |
| ROLLBACK;
 | |
| BEGIN;
 | |
| UPDATE t1 SET a=3 WHERE a=1;
 | |
| XA START 'xid1';
 | |
| UPDATE t1 SET a=4 WHERE a=2;
 | |
| UPDATE t1 SET a=5 WHERE a=2;
 | |
| UPDATE t1 SET a=5 WHERE a=1;
 | |
| ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
 | |
| XA END 'xid1';
 | |
| ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
 | |
| XA ROLLBACK 'xid1';
 | |
| XA START 'xid1';
 | |
| XA END 'xid1';
 | |
| XA ROLLBACK 'xid1';
 | |
| DROP TABLE t1;
 |