mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / parts / t / rpl_partition.test
blob32a3d8ee346f0e403e36b53e4561f06da14ae7d4
1 --source include/have_partition.inc
2 --source include/have_innodb.inc
3 --source include/master-slave.inc
5 --vertical_results
7 let $engine_type= 'innodb';
9 set @old_global_binlog_format=  @@global.binlog_format;
10 set @old_session_binlog_format=  @@session.binlog_format;
11 SET GLOBAL binlog_format = 'ROW';
12 SET SESSION binlog_format = 'ROW';
13 select @@global.binlog_format, @@session.binlog_format;
15 eval CREATE TABLE t1(id MEDIUMINT NOT NULL AUTO_INCREMENT,
16                            dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
17                            fkid MEDIUMINT, filler VARCHAR(255),
18                            PRIMARY KEY(id)) ENGINE=$engine_type;
20 eval CREATE TABLE t2(id MEDIUMINT NOT NULL AUTO_INCREMENT,
21                            dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
22                            fkid MEDIUMINT, filler VARCHAR(255),
23                            PRIMARY KEY(id)) ENGINE=$engine_type
24                                 PARTITION BY KEY(id) partitions 5;
26 eval CREATE TABLE t3(id MEDIUMINT NOT NULL AUTO_INCREMENT,
27                            dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
28                            fkid MEDIUMINT, filler VARCHAR(255),
29                            PRIMARY KEY(id)) ENGINE=$engine_type 
30                                 PARTITION BY RANGE(id) 
31                                 SUBPARTITION BY hash(id) subpartitions 2
32                                 (PARTITION pa1 values less than (10),
33                                  PARTITION pa2 values less than (20),
34                                  PARTITION pa3 values less than (30),
35                                  PARTITION pa4 values less than (40),
36                                  PARTITION pa5 values less than (50),
37                                  PARTITION pa6 values less than (60),
38                                  PARTITION pa7 values less than (70),
39                                  PARTITION pa8 values less than (80),
40                                  PARTITION pa9 values less than (90),
41                                  PARTITION pa10 values less than (100),
42                                  PARTITION pa11 values less than MAXVALUE);
44 ######## Create SPs, Functions, Views and Triggers Section ##############
46 delimiter |;
47 CREATE PROCEDURE p1()
48 BEGIN
49    DECLARE ins_count INT DEFAULT 1000; 
50    DECLARE del_count INT;
51    DECLARE cur_user VARCHAR(255);
52    DECLARE local_uuid VARCHAR(255);
53    DECLARE local_time TIMESTAMP;
55    SET local_time= NOW();
56    SET cur_user= CURRENT_USER();
57    SET local_uuid= UUID();
59    WHILE ins_count > 0 DO
60      INSERT INTO t1 VALUES (NULL, NOW(), USER() , UUID(),
61                                    ins_count,'Going to test MBR for MySQL');
62      SET ins_count = ins_count - 1;
63    END WHILE;
64    
65    SELECT MAX(id) FROM t1 INTO del_count;
66    WHILE del_count > 0 DO
67      DELETE FROM t1 WHERE id = del_count;
68      SET del_count = del_count - 2;
69    END WHILE;
70 END|   
72 CREATE PROCEDURE p2()
73 BEGIN
74    DECLARE ins_count INT DEFAULT 1000; 
75    DECLARE del_count INT;
76    DECLARE cur_user VARCHAR(255);
77    DECLARE local_uuid VARCHAR(255);
78    DECLARE local_time TIMESTAMP;
80    SET local_time= NOW();
81    SET cur_user= CURRENT_USER();
82    SET local_uuid= UUID();
84    WHILE ins_count > 0 DO
85      INSERT INTO t2 VALUES (NULL, NOW(), USER() , UUID(),
86                                    ins_count,'Going to test MBR for MySQL');
87      SET ins_count = ins_count - 1;
88    END WHILE;
89    
90    SELECT MAX(id) FROM t2 INTO del_count;
91    WHILE del_count > 0 DO
92      DELETE FROM t2 WHERE id = del_count;
93      SET del_count = del_count - 2;
94    END WHILE;
95 END|   
97 CREATE PROCEDURE p3()
98 BEGIN
99    DECLARE ins_count INT DEFAULT 1000; 
100    DECLARE del_count INT;
101    DECLARE cur_user VARCHAR(255);
102    DECLARE local_uuid VARCHAR(255);
103    DECLARE local_time TIMESTAMP;
105    SET local_time= NOW();
106    SET cur_user = CURRENT_USER();
107    SET local_uuid=UUID();
109    WHILE ins_count > 0 DO
110      INSERT INTO t3 VALUES (NULL, NOW(), USER(), UUID(),
111                                     ins_count,'Going to test MBR for MySQL');
112      SET ins_count = ins_count - 1;
113    END WHILE;
115    SELECT MAX(id) FROM t3 INTO del_count;
116    WHILE del_count > 0 DO
117      DELETE FROM t3 WHERE id = del_count;
118    SET del_count = del_count - 2;
119    END WHILE;
120 END|
122 delimiter ;|
124 ############ Finish Setup Section ###################
127 ############ Test Section ###################
129 CALL p1();
130 SELECT count(*) as "Master regular" FROM t1;
131 CALL p2();
132 SELECT count(*) as "Master bykey" FROM t2;
133 CALL p3();
134 SELECT count(*) as "Master byrange" FROM t3;
136 --sync_slave_with_master
137 connection slave;
138 show create table t3; 
139 --source include/check_slave_is_running.inc
140 SELECT count(*) "Slave norm" FROM t1;
141 SELECT count(*) "Slave bykey" FROM t2;
142 SELECT count(*) "Slave byrange" FROM t3;
144 connection master;
145 set @@global.binlog_format=  @old_global_binlog_format;
146 set @@session.binlog_format=  @old_session_binlog_format;
147 DROP TABLE t1, t2, t3;
148 DROP PROCEDURE p1;
149 DROP PROCEDURE p2;
150 DROP PROCEDURE p3;
152 # End of 5.1 tests
153 --source include/rpl_end.inc