diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 12:24:36 +0000 |
commit | 06eaf7232e9a920468c0f8d74dcf2fe8b555501c (patch) | |
tree | e2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/rpl/r/rpl_xa.result | |
parent | Initial commit. (diff) | |
download | mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.tar.xz mariadb-06eaf7232e9a920468c0f8d74dcf2fe8b555501c.zip |
Adding upstream version 1:10.11.6.upstream/1%10.11.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/rpl/r/rpl_xa.result')
-rw-r--r-- | mysql-test/suite/rpl/r/rpl_xa.result | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/r/rpl_xa.result b/mysql-test/suite/rpl/r/rpl_xa.result new file mode 100644 index 00000000..061c7b36 --- /dev/null +++ b/mysql-test/suite/rpl/r/rpl_xa.result @@ -0,0 +1,283 @@ +include/master-slave.inc +[connection master] +connection master; +create table t1 (a int, b int) engine=InnoDB; +insert into t1 values(0, 0); +xa start 't'; +insert into t1 values(1, 2); +xa end 't'; +xa prepare 't'; +xa commit 't'; +connection slave; +include/diff_tables.inc [master:t1, slave:t1] +connection master; +xa start 't'; +insert into t1 values(3, 4); +xa end 't'; +xa prepare 't'; +xa rollback 't'; +connection slave; +include/diff_tables.inc [master:t1, slave:t1] +connection master; +SET pseudo_slave_mode=1; +create table t2 (a int) engine=InnoDB; +xa start 't'; +insert into t1 values (5, 6); +xa end 't'; +xa prepare 't'; +xa start 's'; +insert into t2 values (0); +xa end 's'; +xa prepare 's'; +include/save_master_gtid.inc +connection slave; +include/sync_with_master_gtid.inc +xa recover; +formatID gtrid_length bqual_length data +1 1 0 s +1 1 0 t +connection master; +xa commit 't'; +xa commit 's'; +SET pseudo_slave_mode=0; +connection slave; +include/diff_tables.inc [master:t1, slave:t1] +include/diff_tables.inc [master:t2, slave:t2] +connection master; +*** At the start of read-only section gtid list is: +flush logs; +show binlog events in 'master-bin.000002' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000002 # Gtid_list 1 # [0-1-11] +set @query1="select 1"; +set @query2="select count(*) into @s2 from t1"; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'ro_2'; +select count(*) into @s2 from t1; +xa end 'ro_2'; +xa prepare 'ro_2';; +disconnect master_ro_2; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'ro_1'; +select 1; +1 +1 +xa end 'ro_1'; +xa prepare 'ro_1';; +disconnect master_ro_1; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'ro_2'; +select count(*) into @s2 from t1; +xa end 'ro_2'; +xa prepare 'ro_2';; +disconnect master_ro_2; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'ro_1'; +select 1; +1 +1 +xa end 'ro_1'; +xa prepare 'ro_1';; +disconnect master_ro_1; +*** 2 prepared xa:s must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +1 4 0 ro_1 +1 4 0 ro_2 +*** Zero prepared xa:s must be in the list: +xa recover; +formatID gtrid_length bqual_length data +*** At the end of read-only section gtid list has 0 more compare with previous check: +flush logs; +show binlog events in 'master-bin.000003' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000003 # Gtid_list 1 # [0-1-11] +create database test_ign; +set @@sql_log_bin = 0; +create table test_ign.t (a int) engine=InnoDB; +set @@sql_log_bin = 1; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'rw_no_binlog'; +insert into test_ign.t set a=1; +xa end 'rw_no_binlog'; +xa prepare 'rw_no_binlog';; +disconnect master_rw_no_binlog; +*** rw_no_binlog must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +1 12 0 rw_no_binlog +*** Zero must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +*** At the end of --binlog-ignore-db section gtid list has 2 more: +flush logs; +show binlog events in 'master-bin.000004' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000004 # Gtid_list 1 # [0-1-13] +connection master; +create table t3 (a int) engine=innodb; +*** the disconnected prepare case +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +set @@binlog_format=statement; +xa start 'rw_binlog_only'; +delete from t3; +xa end 'rw_binlog_only'; +xa prepare 'rw_binlog_only'; +disconnect master_rw_binlog_only; +connection master; +*** rw_binlog_only must be in the list: +xa recover; +formatID gtrid_length bqual_length data +1 14 0 rw_binlog_only +*** Zero must be in the list: +xa recover; +formatID gtrid_length bqual_length data +*** the same connection complete case. +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +set @@binlog_format=statement; +xa start 'rw_binlog_only'; +delete from t3; +xa end 'rw_binlog_only'; +xa prepare 'rw_binlog_only'; +*** rw_binlog_only must be in the list: +xa recover; +formatID gtrid_length bqual_length data +1 14 0 rw_binlog_only +disconnect master_rw_binlog_only; +*** Zero must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +*** At the end of ineffective in engine section gtid list has 5 more: +flush logs; +show binlog events in 'master-bin.000005' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000005 # Gtid_list 1 # [0-1-18] +create table tm (a int) engine=myisam; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'rw_myisam'; +insert into tm set a=1; +xa end 'rw_myisam'; +xa prepare 'rw_myisam';; +disconnect master_rw_myisam; +connection master; +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +xa start 'rw_myisam'; +insert into tm set a=1; +xa end 'rw_myisam'; +xa prepare 'rw_myisam';; +disconnect master_rw_myisam; +*** rw_myisam prepared must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +1 9 0 rw_myisam +*** Zero prepared xa:s must be in the list: +xa recover; +formatID gtrid_length bqual_length data +*** At the end of MyISAM "xa" section gtid list has 7 more compare with previous check: +flush logs; +show binlog events in 'master-bin.000006' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000006 # Gtid_list 1 # [0-1-25] +connect master_$xid, 127.0.0.1,root,,$db,$MASTER_MYPORT,; +set @@session.sql_log_bin = OFF; +xa start 'skip_binlog'; +insert into t2 values(1); +xa end 'skip_binlog'; +xa prepare 'skip_binlog'; +disconnect master_skip_binlog; +*** skip_binlog must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +1 11 0 skip_binlog +set @@session.sql_log_bin = OFF; +xa rollback 'skip_binlog'; +set @@session.sql_log_bin = ON; +include/save_master_gtid.inc +*** Zero must be in the list: +connection master; +xa recover; +formatID gtrid_length bqual_length data +*** At the end of skip_log_binb section gtid list has 0 more: +flush logs; +show binlog events in 'master-bin.000007' limit 1,1; +Log_name Pos Event_type Server_id End_log_pos Info +master-bin.000007 # Gtid_list 1 # [0-1-25] +connection slave; +include/sync_with_master_gtid.inc +connection master; +drop database test_ign; +drop table t1, t2, t3, tm; +# +# MDEV-26682 slave lock timeout with XA and gap locks +# +create table t1 (a int primary key, b int unique) engine=innodb; +insert t1 values (1,1),(3,3),(5,5); +connection slave; +set session tx_isolation='repeatable-read'; +start transaction; +select * from t1; +a b +1 1 +3 3 +5 5 +connect m2, localhost, root; +delete from t1 where a=3; +xa start 'x1'; +update t1 set b=3 where a=5; +xa end 'x1'; +xa prepare 'x1'; +connect m3, localhost, root; +insert t1 values (2, 2); +-->slave +connection slave; +commit; +select * from t1; +a b +1 1 +2 2 +5 5 +connection m2; +xa rollback 'x1'; +disconnect m2; +disconnect m3; +connection master; +drop table t1; +create table t1 (id int auto_increment primary key, c1 int not null unique) +engine=innodb; +create table t2 (id int auto_increment primary key, c1 int not null, +foreign key(c1) references t1(c1), unique key(c1)) engine=innodb; +insert t1 values (869,1), (871,3), (873,4), (872,5), (870,6), (877,7); +insert t2 values (795,6), (800,7); +xa start '1'; +update t2 set id = 9, c1 = 5 where c1 in (null, null, null, null, null, 7, 3); +connect con1, localhost,root; +xa start '2'; +delete from t1 where c1 like '3%'; +xa end '2'; +xa prepare '2'; +connection master; +xa end '1'; +xa prepare '1'; +->slave +connection slave; +connection slave; +include/sync_with_master_gtid.inc +connection con1; +xa commit '2'; +disconnect con1; +connection master; +xa commit '1'; +drop table t2, t1; +include/rpl_end.inc |