73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
########################################################################
|
|
# Purpose: This test does the basic check of compound statements in a
|
|
# group replication environment
|
|
#
|
|
# 0. This test requires two servers
|
|
# 1. Start Group Replication on two servers
|
|
# 2. Execute following compound statements on the members of the group:
|
|
# a) BEGIN..END
|
|
# b) WHILE \<condition> DO..END WHILE
|
|
# c) DECLARE local variable
|
|
# d) RETURN
|
|
# e) SET statement
|
|
# 3. Verify the consistency of data across the group
|
|
# 4. Clean-up
|
|
#########################################################################
|
|
|
|
# Start GR with two servers
|
|
--source include/have_group_replication_plugin.inc
|
|
--source include/group_replication.inc
|
|
|
|
# Connect to server1, create a table
|
|
--echo
|
|
CREATE TABLE t1 (a INT PRIMARY KEY);
|
|
|
|
# Define compound statements
|
|
# Define a stored procedure to insert data on t1
|
|
--echo
|
|
delimiter $$;
|
|
CREATE PROCEDURE insert_into_t1(IN a INT, IN b INT)
|
|
BEGIN
|
|
DECLARE x INT;
|
|
SET x=a;
|
|
WHILE x<b DO
|
|
INSERT INTO t1 VALUES (x);
|
|
SET x=x+1;
|
|
END WHILE;
|
|
END$$
|
|
delimiter ;$$
|
|
--echo
|
|
# Define a function to get the count of records
|
|
CREATE FUNCTION f1() RETURNS INT RETURN (SELECT COUNT(*) FROM t1);
|
|
--echo
|
|
|
|
# Call the procedure to insert data on t1
|
|
--echo Calling procedure
|
|
CALL insert_into_t1(0,10);
|
|
--echo
|
|
# Call function f1
|
|
SELECT f1();
|
|
|
|
# Wait for the records to get synced to server2
|
|
--source include/rpl_sync.inc
|
|
--echo
|
|
--echo Check if server1 and server2 has same data in test.t1
|
|
--let $diff_tables= server1:test.t1, server2:test.t1
|
|
--source include/diff_tables.inc
|
|
--echo
|
|
|
|
# Clean-up
|
|
# Drop table
|
|
DROP TABLE t1;
|
|
--echo
|
|
|
|
# Drop procedure
|
|
DROP PROCEDURE insert_into_t1;
|
|
--echo
|
|
|
|
# Drop function
|
|
DROP FUNCTION f1;
|
|
--echo
|
|
|
|
--source include/group_replication_end.inc
|