polardbxengine/mysql-test/suite/group_replication/t/gr_autoincrement_parallel_i...

62 lines
1.7 KiB
Plaintext

################################################################################
# Test to check for the behavior of the auto increment field of the tables
# when inserting rows on them parallely on the different members of the Group.
#
# Test:
# 0. The test requires two servers: M1 and M2.
# 1. Create a table t1 with a INT auto_increment column and insert data 1 in
# GROUP.
# 2. Perform 49 parallel inserts on M1 and M2.
# 3. Diff tables t1 in both M1 and M2. It shouldn't be different.
# 4. Assert check that table t1 contains 99 rows.
# 5. Clean up.
################################################################################
--source include/have_group_replication_plugin.inc
--source include/group_replication.inc
CREATE TABLE t1 (a INT AUTO_INCREMENT, PRIMARY KEY (a)) engine=innodb;
INSERT INTO t1 VALUES(1);
--source include/rpl_sync.inc
# Perform 49 insert to get parallely to better test the auto_increment
# behavior.
--let $temp=50
while($temp > 1)
{
--connection server1
--send INSERT INTO t1 VALUES(NULL)
--connection server2
--send INSERT INTO t1 VALUES(NULL)
--connection server1
--reap
--connection server2
--reap
--dec $temp
}
# sync server1, server2
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--let $wait_condition= SELECT COUNT(a)=99 FROM t1
--source include/wait_condition.inc
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
--let $wait_condition= SELECT COUNT(a)=99 FROM t1
--source include/wait_condition.inc
--source include/rpl_sync.inc
--let $diff_tables= server1:t1, server2:t1
--source include/diff_tables.inc
--connection server1
DROP TABLE t1;
--source include/group_replication_end.inc