polardbxengine/mysql-test/suite/ndb_rpl/t/ndb_rpl_ui3.test

55 lines
1.3 KiB
Plaintext

--source include/have_ndb.inc
--source include/have_binlog_format_mixed_or_row.inc
--source suite/ndb_rpl/ndb_master-slave.inc
#
# Slave behaviour when replicating unique index operations
#
#
--connection master
CREATE TABLE t1 (pk int primary key, uk1 int not null, uk2 int not null,
unique(uk1), unique(uk2)) engine=ndb;
# Now perform some operations which do not result in uniqueness
# violations when applied in-order, but which can result in them
# when applied out-of-order
# 5 distinct values chosen to increase the chance of different
# fragments (and therefore potentially different SUMA->Binlog
# orders) being seen.
#
insert into t1 values (1,1,1);
insert into t1 values (2,2,2);
insert into t1 values (3,3,3);
insert into t1 values (4,4,4);
insert into t1 values (5,5,5);
--sorted_result
select * from t1 where uk1 in (1,2,3,4,5);
# Do a 'right shift' on the unique key values
update t1 set uk1=uk1-1 order by pk;
update t1 set uk2=uk2+1 order by pk desc;
--sorted_result
select * from t1 where uk1 in (0,1,2,3,4);
--echo Master table contents
select * from t1 order by pk;
flush logs;
--sync_slave_with_master
--connection slave
--echo Slave table contents
select * from t1 order by pk;
select * from t1 where uk1 in (0,1,2,3,4);
--connection master
drop table t1;
--source include/rpl_end.inc