diff options
-rw-r--r-- | mysql-test/include/ndb_backup.inc | 23 | ||||
-rw-r--r-- | mysql-test/include/ndb_restore_master.inc | 12 | ||||
-rw-r--r-- | mysql-test/t/ndb_dd_backuprestore.test | 114 |
3 files changed, 104 insertions, 45 deletions
diff --git a/mysql-test/include/ndb_backup.inc b/mysql-test/include/ndb_backup.inc new file mode 100644 index 00000000000..f1ff79e3c32 --- /dev/null +++ b/mysql-test/include/ndb_backup.inc @@ -0,0 +1,23 @@ +###################################################### +# By JBM 2006-02-16 So that the code is not repeated # +# in test cases and can be reused. # +###################################################### +--exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "star +t backup" >> $NDB_TOOLS_OUTPUT + +# there is no neat way to find the backupid, this is a hack to find it... + +--exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" - +d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat + +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = +HEAP; +DELETE FROM test.backup_info; + +LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ' +,'; +--replace_column 1 <the_backup_id> +SELECT @the_backup_id:=backup_id FROM test.backup_info; +let the_backup_id=`select @the_backup_id`; +DROP TABLE test.backup_info; + diff --git a/mysql-test/include/ndb_restore_master.inc b/mysql-test/include/ndb_restore_master.inc new file mode 100644 index 00000000000..dc7765e99d7 --- /dev/null +++ b/mysql-test/include/ndb_restore_master.inc @@ -0,0 +1,12 @@ +###################################################### +# By JBM 2006-02-16 So that the code is not repeated # +# in test cases and can be reused. # +###################################################### + +--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUS +TER_PORT" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP +/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT + +--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUS +TER_PORT" -p 8 -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/B +ACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT diff --git a/mysql-test/t/ndb_dd_backuprestore.test b/mysql-test/t/ndb_dd_backuprestore.test index c82ff2bf33b..4eabbab2e5e 100644 --- a/mysql-test/t/ndb_dd_backuprestore.test +++ b/mysql-test/t/ndb_dd_backuprestore.test @@ -45,22 +45,10 @@ while ($j) SELECT COUNT(*) FROM test.t1; SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; ---exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT +-- source include/ndb_backup.inc DROP TABLE test.t1; -# there is no neat way to find the backupid, this is a hack to find it... ---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat - -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM test.backup_info; - -LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; ---replace_column 1 <the_backup_id> -SELECT @the_backup_id:=backup_id FROM test.backup_info; -let the_backup_id=`select @the_backup_id`; -DROP TABLE test.backup_info; - ALTER TABLESPACE table_space1 DROP DATAFILE './table_space1/datafile.dat' ENGINE = NDB; @@ -71,9 +59,7 @@ ENGINE = NDB; DROP LOGFILE GROUP log_group1 ENGINE =NDB; ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +-- source include/ndb_restore_master.inc SELECT COUNT(*) FROM test.t1; @@ -110,28 +96,27 @@ while ($j) } --enable_query_log ---exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT - 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; -# there is no neat way to find the backupid, this is a hack to find it... ---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1; -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; DELETE FROM test.backup_info; +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2; -LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; ---replace_column 1 <the_backup_id> -SELECT @the_backup_id:=backup_id FROM test.backup_info; -let the_backup_id=`select @the_backup_id`; +-- source include/ndb_backup.inc DROP TABLE test.backup_info; DROP TABLE test.t1; @@ -149,19 +134,26 @@ ENGINE = NDB; DROP LOGFILE GROUP log_group1 ENGINE =NDB; ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT - ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +-- 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; @@ -190,16 +182,27 @@ CREATE TABLE test.t3 (pk1 MEDIUMINT NOT NULL AUTO_INCREMENT, c2 TEXT NOT NULL, c CREATE TABLE test.t6 (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 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'; @@ -217,31 +220,30 @@ while ($j) 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; ---exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT +SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5; -# there is no neat way to find the backupid, this is a hack to find it... ---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat +SELECT COUNT(*) FROM test.t6; -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; -DELETE FROM test.backup_info; +SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5; -LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; ---replace_column 1 <the_backup_id> -SELECT @the_backup_id:=backup_id FROM test.backup_info; -let the_backup_id=`select @the_backup_id`; -DROP TABLE test.backup_info; +-- source include/ndb_backup.inc DROP TABLE test.t1; DROP TABLE test.t2; @@ -267,33 +269,55 @@ ENGINE = NDB; DROP LOGFILE GROUP log_group1 ENGINE =NDB; ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT +-- source include/ndb_restore_master.inc ---exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -p 8 -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT 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 |