--source include/have_log_bin.inc --source suite/xengine_rpl/include/have_xengine.inc --enable_connect_log -- let $uuid = `select @@server_uuid;` # 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; create table i1 (id int primary key , value int) engine=innodb; create table r1 (id int primary key , value int) engine=xengine; SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; # Without setting engine, this takes both InnoDB and xengine snapshots -- replace_result $uuid uuid START TRANSACTION WITH CONSISTENT SNAPSHOT; connection con2; insert into i1 values (1,1); insert into r1 values (1,1); connection con1; select * from i1; select * from r1; # This takes xengine snapshot only but both InnoDB participates in transaction. -- replace_result $uuid uuid START TRANSACTION WITH CONSISTENT SNAPSHOT; connection con2; insert into i1 values (2,2); insert into r1 values (2,2); connection con1; # takes InnoDB snapshot here so changes after that not visible select * from i1; select * from r1; connection con2; insert into i1 values (3,2); insert into r1 values (3,2); connection con1; select * from i1; select * from r1; # xengine also partipates in transaction -- replace_result $uuid uuid START TRANSACTION WITH CONSISTENT SNAPSHOT; connection con2; insert into r1 values (4,4); connection con1; # takes xengine snapshot here so changes after that are not visible select * from r1; connection con2; insert into r1 values (5,5); connection con1; select * from r1; drop table i1; drop table r1; connection default; disconnect con1; disconnect con2; reset master; --source include/wait_until_count_sessions.inc