mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / mysql-test / suite / parts / t / ndb_dd_backuprestore.test
blobd2f79028c3fbfd118bcc898867043b62ed62b133
1 ########################################
2 # Author: JBM
3 # Date: 2006-01-24
4 # Purpose: Test CDD backup and restore
5 ########################################
7 -- source include/have_ndb.inc
8 # range, list and hash partitioning in ndb requires new_mode
9 --disable_query_log
10 set new=on;
11 --enable_query_log
13 --disable_warnings
14 DROP TABLE IF EXISTS test.t1;
15 DROP TABLE IF EXISTS test.t2;
16 DROP TABLE IF EXISTS test.t3;
17 DROP TABLE IF EXISTS test.t4;
18 DROP TABLE IF EXISTS test.t5;
19 DROP TABLE IF EXISTS test.t6;
20 --enable_warnings
22 ############ Test 1 Simple DD backup and restore #############
23 -- echo **** Test 1 Simple DD backup and restore ****
25 CREATE LOGFILE GROUP log_group1
26 ADD UNDOFILE './log_group1/undofile.dat'
27 INITIAL_SIZE 16M
28 UNDO_BUFFER_SIZE = 1M
29 ENGINE=NDB;
31 CREATE TABLESPACE table_space1
32 ADD DATAFILE './table_space1/datafile.dat'
33 USE LOGFILE GROUP log_group1
34 INITIAL_SIZE 12M
35 ENGINE NDB;
38 CREATE TABLE test.t1
39 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 CHAR(50) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
41 let $j= 500;
42 --disable_query_log
43 while ($j)
45   eval INSERT INTO test.t1 VALUES (NULL, "Sweden", $j, b'1');
46   dec $j;
48 --enable_query_log
49 SELECT COUNT(*) FROM test.t1;
50 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
52 -- source include/ndb_backup.inc
54 DROP TABLE test.t1;
56 ALTER TABLESPACE table_space1
57 DROP DATAFILE './table_space1/datafile.dat'
58 ENGINE = NDB;
60 DROP TABLESPACE table_space1
61 ENGINE = NDB;
63 DROP LOGFILE GROUP log_group1
64 ENGINE =NDB;
66 -- source include/ndb_restore_master.inc
68 SELECT COUNT(*) FROM test.t1; 
70 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
72 ################# Mixed Cluster Test ############################
73 -- echo **** Test 2 Mixed Cluster Test backup and restore ****
75 CREATE TABLE test.t2
76 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
78 let $j= 500;
79 --disable_query_log
80 while ($j)
82   eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas", $j, b'0');
83   dec $j;
85 --enable_query_log
87 CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
89 CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
91 let $j= 50;
92 --disable_query_log
93 while ($j)
95   INSERT INTO test.t3 VALUES (NULL, repeat('a',1*1024));
96   INSERT INTO test.t3 VALUES (NULL, repeat('b',16*1024));
97   INSERT INTO test.t4 VALUES (NULL, repeat('a',1*1024));
98   INSERT INTO test.t4 VALUES (NULL, repeat('b',16*1024));
99   dec $j;
101 --enable_query_log
103 SELECT COUNT(*) FROM test.t1;
105 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; 
107 SELECT COUNT(*) FROM test.t2; 
109 SELECT pk1, c2, c3,  hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5; 
111 SELECT COUNT(*) FROM test.t3; 
113 SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1; 
115 SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2; 
117 SELECT COUNT(*) FROM test.t4; 
119 SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1; 
121 SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
123 -- source include/ndb_backup.inc
125 DROP TABLE test.t1;
126 DROP TABLE test.t2;
127 DROP TABLE test.t3;
128 DROP TABLE test.t4;
130 ALTER TABLESPACE table_space1
131 DROP DATAFILE './table_space1/datafile.dat'
132 ENGINE = NDB;
134 DROP TABLESPACE table_space1
135 ENGINE = NDB;
137 DROP LOGFILE GROUP log_group1
138 ENGINE =NDB;
140 -- source include/ndb_restore_master.inc
142 SELECT COUNT(*) FROM test.t1;
144 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; 
146 SELECT COUNT(*) FROM test.t2; 
148 SELECT pk1, c2, c3,  hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5; 
150 SELECT COUNT(*) FROM test.t3; 
152 SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1; 
154 SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2; 
156 SELECT COUNT(*) FROM test.t4; 
158 SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1; 
160 SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
162 DROP TABLE test.t1;
163 DROP TABLE test.t2;
164 DROP TABLE test.t3;
165 DROP TABLE test.t4;
166 ###################### Adding partition #################################
167 -- echo **** Test 3 Adding  partition Test backup and restore ****
169 CREATE TABLESPACE table_space2
170 ADD DATAFILE './table_space2/datafile.dat'
171 USE LOGFILE GROUP log_group1
172 INITIAL_SIZE 12M
173 ENGINE NDB;
175 CREATE TABLE test.t1 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(150) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 4;
177 CREATE TABLE test.t4 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(180) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY HASH(c3) PARTITIONS 2;
179 CREATE TABLE test.t2 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY KEY(c3) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
181 CREATE TABLE test.t5 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY KEY(pk1) (PARTITION p0 ENGINE = NDB, PARTITION p1 ENGINE = NDB);
183 CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(202) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))TABLESPACE table_space2 STORAGE DISK ENGINE=NDB PARTITION BY RANGE (c3) PARTITIONS 3 (PARTITION x1 VALUES LESS THAN (105), PARTITION x2 VALUES LESS THAN (333), PARTITION x3 VALUES LESS THAN (720));
185 CREATE TABLE test.t6 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 VARCHAR(220) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL, PRIMARY KEY(pk1,c3))ENGINE=NDB PARTITION BY RANGE (pk1) PARTITIONS 2 (PARTITION x1 VALUES LESS THAN (333), PARTITION x2 VALUES LESS THAN (720));
187 SHOW CREATE TABLE test.t1;
189 SHOW CREATE TABLE test.t2;
191 SHOW CREATE TABLE test.t3;
193 SHOW CREATE TABLE test.t4;
195 SHOW CREATE TABLE test.t5;
197 SHOW CREATE TABLE test.t6;
199 SELECT * FROM information_schema.partitions WHERE table_name= 't1'; 
201 SELECT * FROM information_schema.partitions WHERE table_name= 't2'; 
203 SELECT * FROM information_schema.partitions WHERE table_name= 't3'; 
205 SELECT * FROM information_schema.partitions WHERE table_name= 't4'; 
207 SELECT * FROM information_schema.partitions WHERE table_name= 't5'; 
209 SELECT * FROM information_schema.partitions WHERE table_name= 't6';
212 let $j= 500;
213 --disable_query_log
214 while ($j)
216   eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
217   eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
218   dec $j;
219   eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
220   eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
221   dec $j;
222   eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
223   eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
225 SELECT COUNT(*) FROM test.t1;
227 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5; 
229 SELECT COUNT(*) FROM test.t2; 
231 SELECT pk1, c2, c3,  hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5; 
233 SELECT COUNT(*) FROM test.t3; 
235 SELECT pk1, c2, c3,  hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5; 
237 SELECT COUNT(*) FROM test.t4; 
239 SELECT pk1, c2, c3,  hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5; 
241 SELECT COUNT(*) FROM test.t5; 
243 SELECT pk1, c2, c3,  hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5; 
245 SELECT COUNT(*) FROM test.t6; 
247 SELECT pk1, c2, c3,  hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
249 -- source include/ndb_backup.inc
251 DROP TABLE test.t1;
252 DROP TABLE test.t2;
253 DROP TABLE test.t3;
254 DROP TABLE test.t4;
255 DROP TABLE test.t5;
256 DROP TABLE test.t6;
258 ALTER TABLESPACE table_space1
259 DROP DATAFILE './table_space1/datafile.dat'
260 ENGINE = NDB;
262 ALTER TABLESPACE table_space2
263 DROP DATAFILE './table_space2/datafile.dat'
264 ENGINE = NDB;
266 DROP TABLESPACE table_space1
267 ENGINE = NDB;
269 DROP TABLESPACE table_space2
270 ENGINE = NDB;
272 DROP LOGFILE GROUP log_group1
273 ENGINE =NDB;
275 -- source include/ndb_restore_master.inc
278 SHOW CREATE TABLE test.t1;
280 SHOW CREATE TABLE test.t2;
282 SHOW CREATE TABLE test.t3;
284 SHOW CREATE TABLE test.t4;
286 SHOW CREATE TABLE test.t5;
288 SHOW CREATE TABLE test.t6;
290 SELECT * FROM information_schema.partitions WHERE table_name= 't1'; 
292 SELECT * FROM information_schema.partitions WHERE table_name= 't2'; 
294 SELECT * FROM information_schema.partitions WHERE table_name= 't3'; 
296 SELECT * FROM information_schema.partitions WHERE table_name= 't4'; 
298 SELECT * FROM information_schema.partitions WHERE table_name= 't5'; 
300 SELECT * FROM information_schema.partitions WHERE table_name= 't6'; 
302 SELECT COUNT(*) FROM test.t1; 
304 SELECT pk1, c2, c3,  hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5; 
306 SELECT COUNT(*) FROM test.t2; 
308 SELECT pk1, c2, c3,  hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5; 
310 SELECT COUNT(*) FROM test.t3; 
312 SELECT pk1, c2, c3,  hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5; 
314 SELECT COUNT(*) FROM test.t4; 
316 SELECT pk1, c2, c3,  hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5; 
318 SELECT COUNT(*) FROM test.t5; 
320 SELECT pk1, c2, c3,  hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5; 
322 SELECT COUNT(*) FROM test.t6; 
324 SELECT pk1, c2, c3,  hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
326 # Cleanup
328 DROP TABLE test.t1;
329 DROP TABLE test.t2;
330 DROP TABLE test.t3;
331 DROP TABLE test.t4;
332 DROP TABLE test.t5;
333 DROP TABLE test.t6;
335 ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
337 ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
339 DROP TABLESPACE table_space1 ENGINE = NDB;
341 DROP TABLESPACE table_space2 ENGINE = NDB;
343 DROP LOGFILE GROUP log_group1 ENGINE = NDB;
345 #End 5.1 test case