diff options
Diffstat (limited to 'mysql-test/suite/storage_engine/trx/xa.test')
-rw-r--r-- | mysql-test/suite/storage_engine/trx/xa.test | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/mysql-test/suite/storage_engine/trx/xa.test b/mysql-test/suite/storage_engine/trx/xa.test new file mode 100644 index 00000000..8dafa802 --- /dev/null +++ b/mysql-test/suite/storage_engine/trx/xa.test @@ -0,0 +1,116 @@ +# +# Basic XA transactions syntax +# + +--source ../have_engine.inc +--source support_xa.inc + +# Save the initial number of concurrent sessions +--source include/count_sessions.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +--connect (con1,localhost,root,,) +--connect (con2,localhost,root,,) + +--connection con1 +--let $create_definition = a $int_col +--source ../create_table.inc + +--connection con2 + +# Two-phase COMMIT + +XA START 'xa1'; +INSERT INTO t1 (a) VALUES (1); + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +INSERT INTO t1 (a) VALUES (2); +XA END 'xa1'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +XA PREPARE 'xa1'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +XA RECOVER; +XA COMMIT 'xa1'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +# One-phase COMMIT + +--connection con2 +XA START 'xa2'; +INSERT INTO t1 (a) VALUES (3); + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +INSERT INTO t1 (a) VALUES (4); +XA END 'xa2'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +XA COMMIT 'xa2' ONE PHASE; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +# Rollback + +--connection con2 +XA START 'xa3'; +INSERT INTO t1 (a) VALUES (5); + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +INSERT INTO t1 (a) VALUES (6); +XA END 'xa3'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +XA PREPARE 'xa3'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +--connection con2 +XA ROLLBACK 'xa3'; + +--connection con1 +--sorted_result +SELECT a FROM t1; + +DROP TABLE t1; + +--source ../cleanup_engine.inc + |