diff options
author | Sergey Vojtovich <svoj@mariadb.org> | 2013-09-27 16:58:49 +0400 |
---|---|---|
committer | Sergey Vojtovich <svoj@mariadb.org> | 2013-09-27 16:58:49 +0400 |
commit | 47a240c6bc994ddc26ff139050b16649137cb3ce (patch) | |
tree | e59a8bf3425542dd1604a5be4487b248af47b747 /mysql-test/suite/rpl/include/rpl_partition.inc | |
parent | a695674001c933ff6bf0fdbdf3b05436c50bd5bc (diff) | |
download | mariadb-git-47a240c6bc994ddc26ff139050b16649137cb3ce.tar.gz |
MDEV-4864 - Merge tests for EXCHANGE PARTITION feature
Diffstat (limited to 'mysql-test/suite/rpl/include/rpl_partition.inc')
-rw-r--r-- | mysql-test/suite/rpl/include/rpl_partition.inc | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/mysql-test/suite/rpl/include/rpl_partition.inc b/mysql-test/suite/rpl/include/rpl_partition.inc new file mode 100644 index 00000000000..9f16f769f54 --- /dev/null +++ b/mysql-test/suite/rpl/include/rpl_partition.inc @@ -0,0 +1,104 @@ +######## Create Table Section ######### +use test; + +#dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB, +eval CREATE TABLE test.regular_tbl(id INT NOT NULL AUTO_INCREMENT, + dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE + CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255), + fkid INT, filler VARCHAR(255), + PRIMARY KEY(id)) + ENGINE=$engine_type; + +eval CREATE TABLE test.byrange_tbl(id INT NOT NULL AUTO_INCREMENT, + dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE + CURRENT_TIMESTAMP, user CHAR(255), uuidf VARBINARY(255), + fkid INT, filler VARCHAR(255), + PRIMARY KEY(id)) + ENGINE=$engine_type + PARTITION BY RANGE(id) + (PARTITION pa100 values less than (100), + PARTITION paMax values less than MAXVALUE); + +######## Create SPs, Functions, Views and Triggers Section ############## + +delimiter |; +CREATE PROCEDURE test.proc_norm() +BEGIN + DECLARE ins_count INT DEFAULT 99; + DECLARE cur_user VARCHAR(255); + DECLARE local_uuid VARCHAR(255); + + SET cur_user= "current_user@localhost"; + SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c"; + + WHILE ins_count > 0 DO + # Must use local variables for statment based replication + INSERT INTO test.regular_tbl VALUES (NULL, NOW(), cur_user, local_uuid, + ins_count,'Non partitioned table! Going to test replication for MySQL'); + SET ins_count = ins_count - 1; + END WHILE; + +END| + +CREATE PROCEDURE test.proc_byrange() +BEGIN + DECLARE ins_count INT DEFAULT 200; + DECLARE cur_user VARCHAR(255); + DECLARE local_uuid VARCHAR(255); + + SET cur_user= "current_user@localhost"; + SET local_uuid= "36774b1c-6374-11df-a2ca-0ef7ac7a5f6c"; + + WHILE ins_count > 0 DO + INSERT INTO test.byrange_tbl VALUES (NULL, NOW(), cur_user, local_uuid, + ins_count + 100,'Partitioned table! Going to test replication for MySQL'); + SET ins_count = ins_count - 1; + END WHILE; + +END| + +delimiter ;| + +############ Finish Setup Section ################### + + +############ Test Section ################### + +CALL test.proc_norm(); +SELECT count(*) as "Master regular" FROM test.regular_tbl; +CALL test.proc_byrange(); +SELECT count(*) as "Master byrange" FROM test.byrange_tbl; +show create table test.byrange_tbl; +show create table test.regular_tbl; +ALTER TABLE test.byrange_tbl EXCHANGE PARTITION pa100 WITH TABLE test.regular_tbl; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2; + +--sync_slave_with_master +connection slave; +show create table test.byrange_tbl; +show create table test.regular_tbl; +SELECT count(*) "Slave norm" FROM test.regular_tbl; +SELECT count(*) "Slave byrange" FROM test.byrange_tbl; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.byrange_tbl ORDER BY fkid LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.byrange_tbl ORDER BY fkid DESC LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.regular_tbl ORDER BY fkid LIMIT 2; +--replace_column 2 date-time 3 USER 4 UUID +SELECT * FROM test.regular_tbl ORDER BY fkid DESC LIMIT 2; + +###### CLEAN UP SECTION ############## + +connection master; +DROP PROCEDURE test.proc_norm; +DROP PROCEDURE test.proc_byrange; +DROP TABLE test.regular_tbl; +DROP TABLE test.byrange_tbl; |