mariadb/mysql-test/suite/parts/t/ndb_dd_backuprestore.test

348 lines
9.5 KiB
Text
Raw Normal View History

########################################
# Author: JBM
# Date: 2006-01-24
# Purpose: Test CDD backup and restore
########################################
-- source include/have_ndb.inc
Bug#36732: many disabled ndb tests in test suite parts REORGANIZE TEST parts WHERE ENGINE='NDB' ;) Updated tests for better matching NDB's limitations. Removed some duplicate tests. mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc: Bug#36732: many disabled ndb tests in test suite parts Added variable for NDB (since it does not support DROP PARTITION) mysql-test/suite/parts/inc/partition_alter_11.inc: Bug#36732: many disabled ndb tests in test suite parts Assigning directly to variable without going through the server. mysql-test/suite/parts/inc/partition_bigint.inc: Bug#36732: many disabled ndb tests in test suite parts Added --sorted_result for consistency lowered number of partitions for use with NDB (NDB can only do maximum of 8 partitions) mysql-test/suite/parts/inc/partition_int.inc: Bug#36732: many disabled ndb tests in test suite parts Added --sorted_result for consistency lowered number of partitions for use with NDB (NDB can only do maximum of 8 partitions) mysql-test/suite/parts/inc/partition_mediumint.inc: Bug#36732: many disabled ndb tests in test suite parts Added --sorted_result for consistency lowered number of partitions for use with NDB (NDB can only do maximum of 8 partitions) mysql-test/suite/parts/inc/partition_smallint.inc: Bug#36732: many disabled ndb tests in test suite parts Added --sorted_result for consistency lowered number of partitions for use with NDB (NDB can only do maximum of 8 partitions) mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc: Bug#36732: many disabled ndb tests in test suite parts Made it work better with NDB mysql-test/suite/parts/inc/partition_tinyint.inc: Bug#36732: many disabled ndb tests in test suite parts Added --sorted_result for consistency lowered number of partitions for use with NDB (NDB can only do maximum of 8 partitions) mysql-test/suite/parts/r/ndb_blob_partition.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/r/ndb_dd_backuprestore.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/ndb_partition_error.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/r/ndb_partition_key.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/r/ndb_partition_list.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/r/ndb_partition_range.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/r/part_supported_sql_func_ndb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_alter1_1_innodb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_alter1_1_myisam.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_alter1_2_innodb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file. Diff bigger than necessary, due to bzr diff bug. mysql-test/suite/parts/r/partition_alter1_2_myisam.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_alter2_innodb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_alter2_myisam.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_engine_ndb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_int_innodb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_int_myisam.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/partition_int_ndb.result: Bug#36732: many disabled ndb tests in test suite parts Updated result file mysql-test/suite/parts/r/rpl_ndb_dd_partitions.result: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/rpl_ndb mysql-test/suite/parts/t/disabled.def: Bug#36732: many disabled ndb tests in test suite parts Removed some duplicate tests, fixed some tests. Removed the 'runs too long on PB' test from disabled.def and made them to require 'big-test'. mysql-test/suite/parts/t/ndb_blob_partition.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/t/ndb_dd_backuprestore.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/ndb_partition_error.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/t/ndb_partition_key.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/t/ndb_partition_list.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/t/ndb_partition_range.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/ndb mysql-test/suite/parts/t/part_supported_sql_func_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. Added ndb restriction variables. mysql-test/suite/parts/t/partition_alter1_1_2_ndb.test: Bug#36732: many disabled ndb tests in test suite parts requiring big-test instead of disable it. mysql-test/suite/parts/t/partition_alter1_1_ndb.test: Bug#36732: many disabled ndb tests in test suite parts requiring big-test instead of disable it. mysql-test/suite/parts/t/partition_alter1_2_ndb.test: Bug#36732: many disabled ndb tests in test suite parts requiring big-test instead of disable it. mysql-test/suite/parts/t/partition_alter2_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_basic_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_bit_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_engine_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_int_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_syntax_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/partition_value_ndb.test: Bug#36732: many disabled ndb tests in test suite parts Added new=on for allowing test of hash/range and list partitioning. mysql-test/suite/parts/t/rpl_ndb_dd_partitions.test: Bug#36732: many disabled ndb tests in test suite parts Removing this duplicate test since it already exists (and updated) in suite/rpl_ndb
2008-07-01 20:38:15 +02:00
# range, list and hash partitioning in ndb requires new_mode
--disable_query_log
set new=on;
--enable_query_log
--disable_warnings
DROP TABLE IF EXISTS test.t1;
DROP TABLE IF EXISTS test.t2;
DROP TABLE IF EXISTS test.t3;
DROP TABLE IF EXISTS test.t4;
DROP TABLE IF EXISTS test.t5;
DROP TABLE IF EXISTS test.t6;
--enable_warnings
############ Test 1 Simple DD backup and restore #############
-- echo **** Test 1 Simple DD backup and restore ****
CREATE LOGFILE GROUP log_group1
ADD UNDOFILE './log_group1/undofile.dat'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
CREATE TABLESPACE table_space1
ADD DATAFILE './table_space1/datafile.dat'
USE LOGFILE GROUP log_group1
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLE test.t1
(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;
let $j= 500;
--disable_query_log
while ($j)
{
eval INSERT INTO test.t1 VALUES (NULL, "Sweden", $j, b'1');
dec $j;
}
--enable_query_log
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
-- source include/ndb_backup.inc
DROP TABLE test.t1;
ALTER TABLESPACE table_space1
DROP DATAFILE './table_space1/datafile.dat'
ENGINE = NDB;
DROP TABLESPACE table_space1
ENGINE = NDB;
DROP LOGFILE GROUP log_group1
ENGINE =NDB;
-- source include/ndb_restore_master.inc
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
################# Mixed Cluster Test ############################
-- echo **** Test 2 Mixed Cluster Test backup and restore ****
CREATE TABLE test.t2
(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 VARCHAR(200) NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB;
let $j= 500;
--disable_query_log
while ($j)
{
eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas", $j, b'0');
dec $j;
}
--enable_query_log
CREATE TABLE test.t3 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))TABLESPACE table_space1 STORAGE DISK ENGINE=NDB;
CREATE TABLE test.t4 (c1 int not null auto_increment, data LONGBLOB, PRIMARY KEY(c1))ENGINE=NDB;
let $j= 50;
--disable_query_log
while ($j)
{
INSERT INTO test.t3 VALUES (NULL, repeat('a',1*1024));
INSERT INTO test.t3 VALUES (NULL, repeat('b',16*1024));
INSERT INTO test.t4 VALUES (NULL, repeat('a',1*1024));
INSERT INTO test.t4 VALUES (NULL, repeat('b',16*1024));
dec $j;
}
--enable_query_log
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
SELECT COUNT(*) FROM test.t2;
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
SELECT COUNT(*) FROM test.t3;
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
SELECT COUNT(*) FROM test.t4;
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
-- source include/ndb_backup.inc
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
DROP TABLE test.t4;
ALTER TABLESPACE table_space1
DROP DATAFILE './table_space1/datafile.dat'
ENGINE = NDB;
DROP TABLESPACE table_space1
ENGINE = NDB;
DROP LOGFILE GROUP log_group1
ENGINE =NDB;
-- source include/ndb_restore_master.inc
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5;
SELECT COUNT(*) FROM test.t2;
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5;
SELECT COUNT(*) FROM test.t3;
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1;
SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2;
SELECT COUNT(*) FROM test.t4;
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1;
SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2;
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
DROP TABLE test.t4;
###################### Adding partition #################################
-- echo **** Test 3 Adding partition Test backup and restore ****
CREATE TABLESPACE table_space2
ADD DATAFILE './table_space2/datafile.dat'
USE LOGFILE GROUP log_group1
INITIAL_SIZE 12M
ENGINE NDB;
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;
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;
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);
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);
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));
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));
SHOW CREATE TABLE test.t1;
SHOW CREATE TABLE test.t2;
SHOW CREATE TABLE test.t3;
SHOW CREATE TABLE test.t4;
SHOW CREATE TABLE test.t5;
SHOW CREATE TABLE test.t6;
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
let $j= 500;
--disable_query_log
while ($j)
{
eval INSERT INTO test.t1 VALUES (NULL, "Sweden, Texas", $j, b'0');
eval INSERT INTO test.t4 VALUES (NULL, "Sweden, Texas", $j, b'0');
dec $j;
eval INSERT INTO test.t2 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
eval INSERT INTO test.t5 VALUES (NULL, "Sweden, Texas, ITALY, Kyle, JO, JBM,TU", $j, b'1');
dec $j;
eval INSERT INTO test.t3 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1');
eval INSERT INTO test.t6 VALUES (NULL, "TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU", $j, b'1'); } --enable_query_log
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t2;
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t3;
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t4;
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t5;
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t6;
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
-- source include/ndb_backup.inc
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
DROP TABLE test.t4;
DROP TABLE test.t5;
DROP TABLE test.t6;
ALTER TABLESPACE table_space1
DROP DATAFILE './table_space1/datafile.dat'
ENGINE = NDB;
ALTER TABLESPACE table_space2
DROP DATAFILE './table_space2/datafile.dat'
ENGINE = NDB;
DROP TABLESPACE table_space1
ENGINE = NDB;
DROP TABLESPACE table_space2
ENGINE = NDB;
DROP LOGFILE GROUP log_group1
ENGINE =NDB;
-- source include/ndb_restore_master.inc
SHOW CREATE TABLE test.t1;
SHOW CREATE TABLE test.t2;
SHOW CREATE TABLE test.t3;
SHOW CREATE TABLE test.t4;
SHOW CREATE TABLE test.t5;
SHOW CREATE TABLE test.t6;
SELECT * FROM information_schema.partitions WHERE table_name= 't1';
SELECT * FROM information_schema.partitions WHERE table_name= 't2';
SELECT * FROM information_schema.partitions WHERE table_name= 't3';
SELECT * FROM information_schema.partitions WHERE table_name= 't4';
SELECT * FROM information_schema.partitions WHERE table_name= 't5';
SELECT * FROM information_schema.partitions WHERE table_name= 't6';
SELECT COUNT(*) FROM test.t1;
SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t2;
SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t3;
SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t4;
SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t5;
SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5;
SELECT COUNT(*) FROM test.t6;
SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5;
# Cleanup
DROP TABLE test.t1;
DROP TABLE test.t2;
DROP TABLE test.t3;
DROP TABLE test.t4;
DROP TABLE test.t5;
DROP TABLE test.t6;
ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE=NDB;
ALTER TABLESPACE table_space2 DROP DATAFILE './table_space2/datafile.dat' ENGINE=NDB;
DROP TABLESPACE table_space1 ENGINE = NDB;
DROP TABLESPACE table_space2 ENGINE = NDB;
DROP LOGFILE GROUP log_group1 ENGINE = NDB;
#End 5.1 test case