diff options
Diffstat (limited to 'mysql-test/main/xa_binlog.test')
-rw-r--r-- | mysql-test/main/xa_binlog.test | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/mysql-test/main/xa_binlog.test b/mysql-test/main/xa_binlog.test new file mode 100644 index 00000000..1343fa2a --- /dev/null +++ b/mysql-test/main/xa_binlog.test @@ -0,0 +1,61 @@ +--source include/have_innodb.inc +--source include/have_log_bin.inc + +CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; + +# Fix binlog format (otherwise SHOW BINLOG EVENTS will fluctuate). +SET binlog_format= mixed; + +RESET MASTER; + +XA START 'xatest'; +INSERT INTO t1 VALUES (1); +XA END 'xatest'; +XA PREPARE 'xatest'; +XA COMMIT 'xatest'; + +XA START 'xatest'; +INSERT INTO t1 VALUES (2); +XA END 'xatest'; +XA COMMIT 'xatest' ONE PHASE; + +BEGIN; +INSERT INTO t1 VALUES (3); +COMMIT; + +SELECT * FROM t1 ORDER BY a; +DROP TABLE t1; + +# +# MDEV-22607 Assertion `ha_info->ht() != binlog_hton' failed in +# MYSQL_BIN_LOG::unlog_xa_prepare +# + +CREATE TABLE t1 (a INT) ENGINE=Aria; +INSERT INTO t1 VALUES (1),(2); +XA BEGIN 'x'; +DELETE FROM t1; +XA END 'x'; +XA PREPARE 'x'; + +# Cleanup +XA COMMIT 'x'; + +SELECT * from t1; + +XA BEGIN 'x'; +INSERT INTO t1 VALUES (3),(4); +XA END 'x'; +XA PREPARE 'x'; +XA ROLLBACK 'x'; + +SELECT * from t1; +DROP TABLE t1; + +# +# Time to check the log +# + +--replace_column 2 # 5 # +--replace_regex /xid=[0-9]+/xid=XX/ /GTID [0-9]+-[0-9]+-[0-9]+/GTID #-#-#/ +SHOW BINLOG EVENTS LIMIT 3,100; |