1
########################################
4
# Purpose: Test CDD backup and restore
5
########################################
7
-- source include/have_ndb.inc
10
DROP TABLE IF EXISTS test.t1;
11
DROP TABLE IF EXISTS test.t2;
12
DROP TABLE IF EXISTS test.t3;
13
DROP TABLE IF EXISTS test.t4;
14
DROP TABLE IF EXISTS test.t5;
15
DROP TABLE IF EXISTS test.t6;
18
############ Test 1 Simple DD backup and restore #############
19
-- echo **** Test 1 Simple DD backup and restore ****
21
CREATE LOGFILE GROUP log_group1
22
ADD UNDOFILE './log_group1/undofile.dat'
27
CREATE TABLESPACE table_space1
28
ADD DATAFILE './table_space1/datafile.dat'
29
USE LOGFILE GROUP log_group1
35
(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
eval INSERT INTO test.t1 VALUES (NULL, "Sweden", $j, b'1');
45
SELECT COUNT(*) FROM test.t1;
46
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
48
-- source include/ndb_backup.inc
52
ALTER TABLESPACE table_space1
53
DROP DATAFILE './table_space1/datafile.dat'
56
DROP TABLESPACE table_space1
59
DROP LOGFILE GROUP log_group1
62
-- source include/ndb_restore_master.inc
64
SELECT COUNT(*) FROM test.t1;
66
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
68
################# Mixed Cluster Test ############################
69
-- echo **** Test 2 Mixed Cluster Test backup and restore ****
72
(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
78
eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas", $j, b'0');
83
CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
85
CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
91
INSERT INTO test.t3 VALUES (NULL, repeat('a',1*1024));
92
INSERT INTO test.t3 VALUES (NULL, repeat('b',16*1024));
93
INSERT INTO test.t4 VALUES (NULL, repeat('a',1*1024));
94
INSERT INTO test.t4 VALUES (NULL, repeat('b',16*1024));
99
SELECT COUNT(*) FROM test.t1;
101
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
103
SELECT COUNT(*) FROM test.t2;
105
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
107
SELECT COUNT(*) FROM test.t3;
109
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
111
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
113
SELECT COUNT(*) FROM test.t4;
115
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
117
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
119
-- source include/ndb_backup.inc
126
ALTER TABLESPACE table_space1
127
DROP DATAFILE './table_space1/datafile.dat'
130
DROP TABLESPACE table_space1
133
DROP LOGFILE GROUP log_group1
136
-- source include/ndb_restore_master.inc
138
SELECT COUNT(*) FROM test.t1;
140
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
142
SELECT COUNT(*) FROM test.t2;
144
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
146
SELECT COUNT(*) FROM test.t3;
148
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
150
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
152
SELECT COUNT(*) FROM test.t4;
154
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
156
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
162
###################### Adding partition #################################
163
-- echo **** Test 3 Adding partition Test backup and restore ****
165
CREATE TABLESPACE table_space2
166
ADD DATAFILE './table_space2/datafile.dat'
167
USE LOGFILE GROUP log_group1
171
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;
173
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;
175
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);
177
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);
179
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));
181
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));
183
SHOW CREATE TABLE test.t1;
185
SHOW CREATE TABLE test.t2;
187
SHOW CREATE TABLE test.t3;
189
SHOW CREATE TABLE test.t4;
191
SHOW CREATE TABLE test.t5;
193
SHOW CREATE TABLE test.t6;
195
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
197
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
199
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
201
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
203
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
205
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
212
eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
213
eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
215
eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
216
eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
218
eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
219
eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
221
SELECT COUNT(*) FROM test.t1;
223
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
225
SELECT COUNT(*) FROM test.t2;
227
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
229
SELECT COUNT(*) FROM test.t3;
231
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
233
SELECT COUNT(*) FROM test.t4;
235
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
237
SELECT COUNT(*) FROM test.t5;
239
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
241
SELECT COUNT(*) FROM test.t6;
243
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
245
-- source include/ndb_backup.inc
254
ALTER TABLESPACE table_space1
255
DROP DATAFILE './table_space1/datafile.dat'
258
ALTER TABLESPACE table_space2
259
DROP DATAFILE './table_space2/datafile.dat'
262
DROP TABLESPACE table_space1
265
DROP TABLESPACE table_space2
268
DROP LOGFILE GROUP log_group1
271
-- source include/ndb_restore_master.inc
274
SHOW CREATE TABLE test.t1;
276
SHOW CREATE TABLE test.t2;
278
SHOW CREATE TABLE test.t3;
280
SHOW CREATE TABLE test.t4;
282
SHOW CREATE TABLE test.t5;
284
SHOW CREATE TABLE test.t6;
286
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
288
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
290
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
292
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
294
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
296
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
298
SELECT COUNT(*) FROM test.t1;
300
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
302
SELECT COUNT(*) FROM test.t2;
304
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
306
SELECT COUNT(*) FROM test.t3;
308
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
310
SELECT COUNT(*) FROM test.t4;
312
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
314
SELECT COUNT(*) FROM test.t5;
316
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
318
SELECT COUNT(*) FROM test.t6;
320
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
331
ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
333
ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
335
DROP TABLESPACE table_space1 ENGINE = NDB;
337
DROP TABLESPACE table_space2 ENGINE = NDB;
339
DROP LOGFILE GROUP log_group1 ENGINE = NDB;