初版
This commit is contained in:
133
build/lib/mysql/mysql-test/r/xa.result
Normal file
133
build/lib/mysql/mysql-test/r/xa.result
Normal file
@@ -0,0 +1,133 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user