~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
drop table if exists t1, t2;
2
create table t1 (a int) engine=innodb;
3
xa start 'test1';
4
insert t1 values (10);
5
xa end 'test1';
6
xa prepare 'test1';
7
xa rollback 'test1';
8
select * from t1;
9
a
10
xa start 'test2';
11
xa start 'test-bad';
12
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
13
insert t1 values (20);
14
xa prepare 'test2';
15
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
16
xa end 'test2';
17
xa prepare 'test2';
18
xa commit 'test2';
19
select * from t1;
20
a
21
20
22
xa start 'testa','testb';
23
insert t1 values (30);
24
commit;
25
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  ACTIVE state
26
xa end 'testa','testb';
27
begin;
28
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  IDLE state
29
create table t2 (a int);
30
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  IDLE state
31
xa start 'testa','testb';
32
ERROR XAE08: XAER_DUPID: The XID already exists
33
xa start 'testa','testb', 123;
34
ERROR XAE08: XAER_DUPID: The XID already exists
35
xa start 0x7465737462, 0x2030405060, 0xb;
36
insert t1 values (40);
37
xa end 'testb',' 0@P`',11;
38
xa prepare 'testb',0x2030405060,11;
39
start transaction;
40
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the  PREPARED state
41
xa recover;
42
formatID	gtrid_length	bqual_length	data
43
11	5	5	testb 0@P`
44
xa prepare 'testa','testb';
45
xa recover;
46
formatID	gtrid_length	bqual_length	data
47
11	5	5	testb 0@P`
48
1	5	5	testatestb
49
xa commit 'testb',0x2030405060,11;
50
ERROR XAE04: XAER_NOTA: Unknown XID
51
xa rollback 'testa','testb';
52
xa start 'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz';
53
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
54
select * from t1;
55
a
56
20
57
drop table t1;