From 9b0de7ff8ce99ce52c65c084a332094ffe623648 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 8 Feb 2006 23:06:01 +0100 Subject: [PATCH 1/6] rpl_ndb_sync.result, rpl_ndb_sync.test: Fixed bug in test for when NDB is set to default engine - Thanks Tomas, you were right mysql-test/t/rpl_ndb_sync.test: Fixed bug in test for when NDB is set to default engine - Thanks Tomas, you where right mysql-test/r/rpl_ndb_sync.result: Fixed bug in test for when NDB is set to default engine - Thanks Tomas, you where right --- mysql-test/r/rpl_ndb_sync.result | 2 +- mysql-test/t/rpl_ndb_sync.test | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/rpl_ndb_sync.result b/mysql-test/r/rpl_ndb_sync.result index 44d0efa7e5a..8449f8cb11e 100644 --- a/mysql-test/r/rpl_ndb_sync.result +++ b/mysql-test/r/rpl_ndb_sync.result @@ -25,7 +25,7 @@ hex(c2) hex(c3) c1 0 1 BCDEF 1 0 CD 0 0 DEFGHIJKL -CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT); +CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; DELETE FROM cluster_replication.backup_info; LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM cluster_replication.backup_info; diff --git a/mysql-test/t/rpl_ndb_sync.test b/mysql-test/t/rpl_ndb_sync.test index 2e1e96d87de..61591b8fc68 100644 --- a/mysql-test/t/rpl_ndb_sync.test +++ b/mysql-test/t/rpl_ndb_sync.test @@ -27,7 +27,7 @@ SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1; # take a backup on master --exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat -CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT); +CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; DELETE FROM cluster_replication.backup_info; LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ','; --replace_column 1 From 17620c2d1f97be83d1f51f1cc4f66bbcdee01053 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 9 Feb 2006 15:29:57 +0100 Subject: [PATCH 2/6] test updates mysql-test/t/rpl_ps.test: Added order by for use with NDB mysql-test/r/rpl_ps.result: Added order by for use with NDB mysql-test/t/rpl_multi_delete.test: Added pk for NDB engine mysql-test/t/rpl_multi_delete2.test: Added pk for NDB engine mysql-test/r/rpl_multi_delete.result: Added pk for NDB engine mysql-test/r/rpl_multi_delete2.result: Added pk for NDB engine mysql-test/t/rpl_loadfile.test: Added sleep for use with NDB --- mysql-test/r/rpl_multi_delete.result | 2 +- mysql-test/r/rpl_multi_delete2.result | 2 +- mysql-test/r/rpl_ps.result | 4 ++-- mysql-test/t/rpl_loadfile.test | 3 +++ mysql-test/t/rpl_multi_delete.test | 3 ++- mysql-test/t/rpl_multi_delete2.test | 2 +- mysql-test/t/rpl_ps.test | 7 +++++-- 7 files changed, 15 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/rpl_multi_delete.result b/mysql-test/r/rpl_multi_delete.result index e94a4e7947e..4831502eb88 100644 --- a/mysql-test/r/rpl_multi_delete.result +++ b/mysql-test/r/rpl_multi_delete.result @@ -4,7 +4,7 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; -create table t1 (a int); +create table t1 (a int primary key); create table t2 (a int); insert into t1 values (1); insert into t2 values (1); diff --git a/mysql-test/r/rpl_multi_delete2.result b/mysql-test/r/rpl_multi_delete2.result index 73db9f62eb4..87abe60b268 100644 --- a/mysql-test/r/rpl_multi_delete2.result +++ b/mysql-test/r/rpl_multi_delete2.result @@ -24,7 +24,7 @@ use mysqltest_to; select * from a; i 3 -create table t1 (a int); +create table t1 (a int primary key); create table t2 (a int); insert into t1 values (1); insert into t2 values (1); diff --git a/mysql-test/r/rpl_ps.result b/mysql-test/r/rpl_ps.result index c969575de76..9127ba0d686 100644 --- a/mysql-test/r/rpl_ps.result +++ b/mysql-test/r/rpl_ps.result @@ -11,7 +11,7 @@ set @var1= "from-master-1"; execute stmt1 using @var1; set @var1= "from-master-2-'',"; execute stmt1 using @var1; -select * from t1; +SELECT * FROM t1 ORDER BY n; n from-master-1 from-master-2-'', @@ -19,7 +19,7 @@ set @var2= 'insert into t1 values (concat("from-var-", ?))'; prepare stmt2 from @var2; set @var1='from-master-3'; execute stmt2 using @var1; -select * from t1; +SELECT * FROM t1 ORDER BY n; n from-master-1 from-master-2-'', diff --git a/mysql-test/t/rpl_loadfile.test b/mysql-test/t/rpl_loadfile.test index 61a0cc46628..148ed58bada 100644 --- a/mysql-test/t/rpl_loadfile.test +++ b/mysql-test/t/rpl_loadfile.test @@ -36,6 +36,9 @@ delimiter ;| CALL test.p1(); SELECT * FROM test.t1 ORDER BY blob_column; save_master_pos; +# Need to allow some time when NDB engine is used for +# the injector thread to have time to populate binlog +sleep 10; sync_slave_with_master; connection slave; SELECT * FROM test.t1 ORDER BY blob_column; diff --git a/mysql-test/t/rpl_multi_delete.test b/mysql-test/t/rpl_multi_delete.test index 2fd7b820b1a..a251cbf8833 100644 --- a/mysql-test/t/rpl_multi_delete.test +++ b/mysql-test/t/rpl_multi_delete.test @@ -1,10 +1,11 @@ source include/master-slave.inc; -create table t1 (a int); +create table t1 (a int primary key); create table t2 (a int); insert into t1 values (1); insert into t2 values (1); + delete t1.* from t1, t2 where t1.a = t2.a; save_master_pos; diff --git a/mysql-test/t/rpl_multi_delete2.test b/mysql-test/t/rpl_multi_delete2.test index c50311de363..81379d4056b 100644 --- a/mysql-test/t/rpl_multi_delete2.test +++ b/mysql-test/t/rpl_multi_delete2.test @@ -36,7 +36,7 @@ select * from a; # BUG#3461 connection master; -create table t1 (a int); +create table t1 (a int primary key); create table t2 (a int); insert into t1 values (1); diff --git a/mysql-test/t/rpl_ps.test b/mysql-test/t/rpl_ps.test index adf39b1e4ab..4c8841d564d 100644 --- a/mysql-test/t/rpl_ps.test +++ b/mysql-test/t/rpl_ps.test @@ -1,6 +1,9 @@ # # Test of replicating user variables # +########################################################### +# 2006-02-08 By JBM added order by for use w/ NDB engine +########################################################### source include/master-slave.inc; #save_master_pos; @@ -20,7 +23,7 @@ set @var1= "from-master-1"; execute stmt1 using @var1; set @var1= "from-master-2-'',"; execute stmt1 using @var1; -select * from t1; +SELECT * FROM t1 ORDER BY n; set @var2= 'insert into t1 values (concat("from-var-", ?))'; prepare stmt2 from @var2; @@ -30,7 +33,7 @@ execute stmt2 using @var1; save_master_pos; connection slave; sync_with_master; -select * from t1; +SELECT * FROM t1 ORDER BY n; connection master; From 545ac7f323b0419eb39ee65531665e836fcfa53d Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 10 Feb 2006 12:52:35 +0100 Subject: [PATCH 3/6] test updates mysql-test/t/rpl_trigger.test: Test cleanup mysql-test/t/rpl_ndb_sync.test: Test cleanup mysql-test/t/rpl_ndb_idempotent.test: Test cleanup mysql-test/r/rpl_trigger.result: Updated result files mysql-test/r/rpl_ndb_sync.result: Updated result files mysql-test/r/rpl_ndb_idempotent.result: Updated result files mysql-test/t/rpl_ndb_dd_basic.test: Rename: mysql-test/t/rpl_ndb_disk.test -> mysql-test/t/rpl_ndb_dd_basic.test mysql-test/r/rpl_ndb_dd_basic.result: Rename: mysql-test/t/rpl_ndb_dd_basic.result -> mysql-test/r/rpl_ndb_dd_basic.result mysql-test/r/rpl_ndb_sp006.result: New results file mysql-test/t/rpl_row_sp007_innodb-slave.opt: Ensure slave tables are created as innodb mysql-test/t/disabled.def: updated 17290 mysql-test/r/rpl_ndb_sp007.result: New results file mysql-test/t/rpl_ndb_sp007.test: Added comment mysql-test/t/rpl_ndb_sp006.test: Added comment mysql-test/extra/rpl_tests/rpl_row_sp003.test: Augmented for use with NDB due to injector thread not populating the bin log before sync with master is done mysql-test/r/rpl_ndb_sp003.result: New results file mysql-test/t/rpl_ndb_sp003.test: Wrapper to use same code for testing NDB that is used for InnoDB Currently --- mysql-test/extra/rpl_tests/rpl_row_sp003.test | 5 +- ...db_disk.result => rpl_ndb_dd_basic.result} | 0 mysql-test/r/rpl_ndb_idempotent.result | 1 + mysql-test/r/rpl_ndb_sp003.result | 49 ++++++++++++++++++ mysql-test/r/rpl_ndb_sp006.result | 45 +++++++++++++++++ mysql-test/r/rpl_ndb_sp007.result | 50 +++++++++++++++++++ mysql-test/r/rpl_ndb_sync.result | 3 +- mysql-test/r/rpl_trigger.result | 3 ++ mysql-test/t/disabled.def | 9 ++-- ...pl_ndb_disk.test => rpl_ndb_dd_basic.test} | 0 mysql-test/t/rpl_ndb_idempotent.test | 5 ++ mysql-test/t/rpl_ndb_sp003.test | 9 ++++ mysql-test/t/rpl_ndb_sp006.test | 9 ++++ mysql-test/t/rpl_ndb_sp007.test | 9 ++++ mysql-test/t/rpl_ndb_sync.test | 6 ++- mysql-test/t/rpl_row_sp007_innodb-slave.opt | 1 + mysql-test/t/rpl_trigger.test | 9 +++- 17 files changed, 204 insertions(+), 9 deletions(-) rename mysql-test/r/{rpl_ndb_disk.result => rpl_ndb_dd_basic.result} (100%) create mode 100644 mysql-test/r/rpl_ndb_sp003.result create mode 100644 mysql-test/r/rpl_ndb_sp006.result create mode 100644 mysql-test/r/rpl_ndb_sp007.result rename mysql-test/t/{rpl_ndb_disk.test => rpl_ndb_dd_basic.test} (100%) create mode 100644 mysql-test/t/rpl_ndb_sp003.test create mode 100644 mysql-test/t/rpl_ndb_sp006.test create mode 100644 mysql-test/t/rpl_ndb_sp007.test create mode 100644 mysql-test/t/rpl_row_sp007_innodb-slave.opt diff --git a/mysql-test/extra/rpl_tests/rpl_row_sp003.test b/mysql-test/extra/rpl_tests/rpl_row_sp003.test index 2073fb41264..0934e2d6f98 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_sp003.test +++ b/mysql-test/extra/rpl_tests/rpl_row_sp003.test @@ -46,7 +46,10 @@ CALL test.p2(); SELECT release_lock("test"); SELECT * FROM test.t1; #show binlog events; - +# Added sleep for use with NDB to ensure that +# the injector thread will populate log before +# we switch to the slave. +sleep 5; sync_slave_with_master; connection slave; SELECT * FROM test.t1; diff --git a/mysql-test/r/rpl_ndb_disk.result b/mysql-test/r/rpl_ndb_dd_basic.result similarity index 100% rename from mysql-test/r/rpl_ndb_disk.result rename to mysql-test/r/rpl_ndb_dd_basic.result diff --git a/mysql-test/r/rpl_ndb_idempotent.result b/mysql-test/r/rpl_ndb_idempotent.result index 054ff599c23..3315e05f97e 100644 --- a/mysql-test/r/rpl_ndb_idempotent.result +++ b/mysql-test/r/rpl_ndb_idempotent.result @@ -70,3 +70,4 @@ row2 new on slave 2 SHOW SLAVE STATUS; Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master 127.0.0.1 root MASTER_PORT 1 master-bin.000001 master-bin.000001 Yes Yes 0 0 None 0 No +DROP TABLE IF EXISTS t1; diff --git a/mysql-test/r/rpl_ndb_sp003.result b/mysql-test/r/rpl_ndb_sp003.result new file mode 100644 index 00000000000..94f320f387b --- /dev/null +++ b/mysql-test/r/rpl_ndb_sp003.result @@ -0,0 +1,49 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +DROP PROCEDURE IF EXISTS test.p1; +DROP PROCEDURE IF EXISTS test.p2; +DROP TABLE IF EXISTS test.t1; +CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=NDBCLUSTER; +CREATE PROCEDURE test.p1() +BEGIN +INSERT INTO test.t1 VALUES (4); +SELECT get_lock("test", 100); +UPDATE test.t1 set a=a+4 WHERE a=4; +END| +CREATE PROCEDURE test.p2() +BEGIN +UPDATE test.t1 SET a=a+1; +END| +SELECT get_lock("test", 200); +get_lock("test", 200) +1 + CALL test.p1(); +CALL test.p2(); +SELECT release_lock("test"); +release_lock("test") +1 +SELECT * FROM test.t1; +a +5 +SELECT * FROM test.t1; +a +5 +DROP TABLE IF EXISTS test.t1; +CREATE TABLE test.t1(a INT,PRIMARY KEY(a))ENGINE=NDBCLUSTER; +CALL test.p2(); +CALL test.p1(); +get_lock("test", 100) +0 +SELECT * FROM test.t1; +a +8 +SELECT * FROM test.t1; +a +8 +DROP PROCEDURE IF EXISTS test.p1; +DROP PROCEDURE IF EXISTS test.p2; +DROP TABLE IF EXISTS test.t1; diff --git a/mysql-test/r/rpl_ndb_sp006.result b/mysql-test/r/rpl_ndb_sp006.result new file mode 100644 index 00000000000..6d32f26b280 --- /dev/null +++ b/mysql-test/r/rpl_ndb_sp006.result @@ -0,0 +1,45 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +create database if not exists mysqltest1; +DROP PROCEDURE IF EXISTS mysqltest1.p1; +DROP PROCEDURE IF EXISTS mysqltest1.p2; +DROP TABLE IF EXISTS mysqltest1.t2; +DROP TABLE IF EXISTS mysqltest1.t1; +CREATE TABLE IF NOT EXISTS mysqltest1.t1(name CHAR(16), birth DATE,PRIMARY KEY(name))ENGINE=NDBCLUSTER; +CREATE TABLE IF NOT EXISTS mysqltest1.t2(name CHAR(16), age INT ,PRIMARY KEY(name))ENGINE=NDBCLUSTER; +CREATE PROCEDURE mysqltest1.p1() +BEGIN +DECLARE done INT DEFAULT 0; +DECLARE spa CHAR(16); +DECLARE spb INT; +DECLARE cur1 CURSOR FOR SELECT name, +(YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(),5) +------------------------- +CALL test.p1(12); +Warnings: +Note 1051 Unknown table 't1' +SELECT * FROM test.t1; +num +12 + +< ---- Slave selects-- > +------------------------ +SELECT * FROM test.t1; +num +12 + +< ---- Master selects-- > +------------------------- +CALL test.p1(13); +SELECT * FROM test.t1; +num +13 + +< ---- Slave selects-- > +------------------------ +SELECT * FROM test.t1; +num +13 +DROP PROCEDURE IF EXISTS test.p1; +DROP TABLE IF EXISTS test.t1; diff --git a/mysql-test/r/rpl_ndb_sync.result b/mysql-test/r/rpl_ndb_sync.result index 8449f8cb11e..5f465dc427c 100644 --- a/mysql-test/r/rpl_ndb_sync.result +++ b/mysql-test/r/rpl_ndb_sync.result @@ -25,12 +25,13 @@ hex(c2) hex(c3) c1 0 1 BCDEF 1 0 CD 0 0 DEFGHIJKL -CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; DELETE FROM cluster_replication.backup_info; LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM cluster_replication.backup_info; @the_backup_id:=backup_id +DROP TABLE cluster_replication.backup_info; UPDATE t1 SET c2=0 WHERE c3="row2"; SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3; hex(c1) hex(c2) c3 diff --git a/mysql-test/r/rpl_trigger.result b/mysql-test/r/rpl_trigger.result index 7613f2547f0..ccfa1b5e66b 100644 --- a/mysql-test/r/rpl_trigger.result +++ b/mysql-test/r/rpl_trigger.result @@ -4,6 +4,9 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +DROP TABLE IF EXISTS t3; create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null); create table t2 (a int auto_increment, primary key (a), b int); create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null); diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 5010e8afb81..12ec8c12f95 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -27,9 +27,10 @@ rpl_ndb_basic : Bug#16228 rpl_sp : Bug #16456 ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog -#ndb_alter_table_row : sometimes wrong error 1015!=1046 +ndb_alter_table_row : sometimes wrong error 1015!=1046 ndb_gis : garbled msgs from corrupt THD* -rpl_ndb_auto_inc : MySQL Bugs:17086 -rpl_ndb_relay_space : Bug 16993 +rpl_ndb_auto_inc : Bug #17086 +rpl_ndb_relay_space : Bug #16993 ndb_binlog_ddl_multi : Bug #17038 -rpl_ndb_log : MySQL Bugs: #17158 +rpl_ndb_log : Bug #17158 +rpl_ndb_sp007 : Bug #17290 diff --git a/mysql-test/t/rpl_ndb_disk.test b/mysql-test/t/rpl_ndb_dd_basic.test similarity index 100% rename from mysql-test/t/rpl_ndb_disk.test rename to mysql-test/t/rpl_ndb_dd_basic.test diff --git a/mysql-test/t/rpl_ndb_idempotent.test b/mysql-test/t/rpl_ndb_idempotent.test index 1f14ce59a2e..bb33dfaf701 100644 --- a/mysql-test/t/rpl_ndb_idempotent.test +++ b/mysql-test/t/rpl_ndb_idempotent.test @@ -109,3 +109,8 @@ SELECT * FROM t1; --replace_result $MASTER_MYPORT MASTER_PORT --replace_column 1 7 8 9 16 22 23 33 SHOW SLAVE STATUS; + +connection master; +DROP TABLE IF EXISTS t1; + +# End of 5.1 Test diff --git a/mysql-test/t/rpl_ndb_sp003.test b/mysql-test/t/rpl_ndb_sp003.test new file mode 100644 index 00000000000..75ad9f0a488 --- /dev/null +++ b/mysql-test/t/rpl_ndb_sp003.test @@ -0,0 +1,9 @@ +################################# +# Wrapper for rpl_row_sp003.test# +# These tests have been wrapped # +# so the same code can be used # +# For different engines # +################################# +-- source include/have_ndb.inc +let $engine_type=NDBCLUSTER; +-- source extra/rpl_tests/rpl_row_sp003.test diff --git a/mysql-test/t/rpl_ndb_sp006.test b/mysql-test/t/rpl_ndb_sp006.test new file mode 100644 index 00000000000..590facc3648 --- /dev/null +++ b/mysql-test/t/rpl_ndb_sp006.test @@ -0,0 +1,9 @@ +################################# +# Wrapper for rpl_row_sp006.test# +# These tests have been wrapped # +# so the same code can be used # +# For different engines # +################################# +-- source include/have_ndb.inc +let $engine_type=NDBCLUSTER; +-- source extra/rpl_tests/rpl_row_sp006.test diff --git a/mysql-test/t/rpl_ndb_sp007.test b/mysql-test/t/rpl_ndb_sp007.test new file mode 100644 index 00000000000..767fd105518 --- /dev/null +++ b/mysql-test/t/rpl_ndb_sp007.test @@ -0,0 +1,9 @@ +################################# +# Wrapper for rpl_row_sp007.test# +# These tests have been wrapped # +# so the same code can be used # +# For different engines # +################################# +-- source include/have_ndb.inc +let $engine_type=NDBCLUSTER; +-- source extra/rpl_tests/rpl_row_sp007.test diff --git a/mysql-test/t/rpl_ndb_sync.test b/mysql-test/t/rpl_ndb_sync.test index 61591b8fc68..5c990cd4842 100644 --- a/mysql-test/t/rpl_ndb_sync.test +++ b/mysql-test/t/rpl_ndb_sync.test @@ -27,13 +27,13 @@ SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1; # take a backup on master --exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > var/tmp.dat -CREATE TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS cluster_replication.backup_info (id INT, backup_id INT)ENGINE=HEAP; DELETE FROM cluster_replication.backup_info; LOAD DATA INFILE '../../var/tmp.dat' INTO TABLE cluster_replication.backup_info FIELDS TERMINATED BY ','; --replace_column 1 SELECT @the_backup_id:=backup_id FROM cluster_replication.backup_info; let the_backup_id=`select @the_backup_id` ; - +DROP TABLE cluster_replication.backup_info; # update a row UPDATE t1 SET c2=0 WHERE c3="row2"; SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3; @@ -130,3 +130,5 @@ connection slave; reset slave; # should now contain nothing select * from cluster_replication.apply_status; + +# End 5.1 Test diff --git a/mysql-test/t/rpl_row_sp007_innodb-slave.opt b/mysql-test/t/rpl_row_sp007_innodb-slave.opt new file mode 100644 index 00000000000..627becdbfb5 --- /dev/null +++ b/mysql-test/t/rpl_row_sp007_innodb-slave.opt @@ -0,0 +1 @@ +--innodb diff --git a/mysql-test/t/rpl_trigger.test b/mysql-test/t/rpl_trigger.test index 0eca7308adc..498aa479b27 100644 --- a/mysql-test/t/rpl_trigger.test +++ b/mysql-test/t/rpl_trigger.test @@ -3,7 +3,14 @@ # Adding statement include due to Bug 12574 # TODO: Remove statement include once 12574 is patched --source include/have_binlog_format_statement.inc -source include/master-slave.inc; +--source include/master-slave.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t2; +DROP TABLE IF EXISTS t3; + +--enable_warnings # # #12482: Triggers has side effects with auto_increment values From 5e11016e878128a5ebd5b00a4ad08e95738e5a57 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 13 Feb 2006 16:36:11 +0100 Subject: [PATCH 4/6] Updated test cases mysql-test/include/not_ndb_default.inc: New include file to skip certain tests with default engine = ndb mysql-test/t/rpl_optimize.test: Updated to skip test when NDB is default engine mysql-test/extra/rpl_tests/rpl_auto_increment.test: Updated to skip test when NDB is default engine BitKeeper/deleted/.del-rpl_ndb_auto_inc-master.opt~e38255d94debc2c8: Delete: mysql-test/t/rpl_ndb_auto_inc-master.opt mysql-test/t/rpl_ndb_auto_inc.test: updated to use with ndb mysql-test/r/rpl_ndb_auto_inc.result: New results mysql-test/t/disabled.def: Updated to remove rpl_ndb_auto_inc.test mysql-test/extra/rpl_tests/rpl_row_blob.test: updated to remove check table, not needed and not supported by ndb engine mysql-test/t/rpl_ndb_blob2.test: new ndb wrapper mysql-test/r/rpl_ndb_blob2.result: new results --- .../extra/rpl_tests/rpl_auto_increment.test | 9 + mysql-test/extra/rpl_tests/rpl_row_blob.test | 7 +- mysql-test/include/not_ndb_default.inc | 4 + mysql-test/r/rpl_ndb_auto_inc.result | 175 ++++++++---------- mysql-test/r/rpl_ndb_blob2.result | 156 ++++++++++++++++ mysql-test/t/disabled.def | 1 - mysql-test/t/rpl_ndb_auto_inc-master.opt | 1 - mysql-test/t/rpl_ndb_auto_inc.test | 119 +++++++++++- mysql-test/t/rpl_ndb_blob2.test | 9 + mysql-test/t/rpl_optimize.test | 9 +- 10 files changed, 387 insertions(+), 103 deletions(-) create mode 100644 mysql-test/include/not_ndb_default.inc create mode 100644 mysql-test/r/rpl_ndb_blob2.result delete mode 100644 mysql-test/t/rpl_ndb_auto_inc-master.opt create mode 100644 mysql-test/t/rpl_ndb_blob2.test diff --git a/mysql-test/extra/rpl_tests/rpl_auto_increment.test b/mysql-test/extra/rpl_tests/rpl_auto_increment.test index e7ea85f9f71..42f8fcfc5fb 100644 --- a/mysql-test/extra/rpl_tests/rpl_auto_increment.test +++ b/mysql-test/extra/rpl_tests/rpl_auto_increment.test @@ -1,6 +1,15 @@ # # Test of auto_increment with offset # +##################################### +# By: JBM +# Date: 2006-02-10 +# Change: NDB does not support auto inc +# in this usage. Currently there is no +# plan to implment. Skipping test when +# NDB is default engine. +##################################### +-- source include/not_ndb_default.inc -- source include/master-slave.inc eval create table t1 (a int not null auto_increment,b int, primary key (a)) engine=$engine_type2 auto_increment=3; diff --git a/mysql-test/extra/rpl_tests/rpl_row_blob.test b/mysql-test/extra/rpl_tests/rpl_row_blob.test index a1beafc32e1..13f49f1c3da 100644 --- a/mysql-test/extra/rpl_tests/rpl_row_blob.test +++ b/mysql-test/extra/rpl_tests/rpl_row_blob.test @@ -30,7 +30,6 @@ data LONGBLOB, PRIMARY KEY(c1))ENGINE=$engine_type; INSERT INTO test.t1 VALUES (NULL, NULL); INSERT INTO test.t1 VALUES (NULL, repeat('a',1*1024)); INSERT INTO test.t1 VALUES (NULL, repeat('b',16*1024)); -CHECK TABLE test.t1; --echo --echo **** Data Insert Validation Master Section test.t1 **** @@ -60,6 +59,9 @@ UPDATE t1 set data=repeat('c',17*1024) where c1 = 2; --echo SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1; SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2; +# Sleep is needed for NDB to allow time for +# Injector thread to populate the bin log. +sleep 10; save_master_pos; connection slave; sync_with_master; @@ -155,6 +157,9 @@ SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) FROM test.t2 WHERE c1=1; SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) FROM test.t2 WHERE c1=2; +# Sleep is needed for NDB to allow time for +# Injector thread to populate the bin log. +sleep 15; save_master_pos; connection slave; sync_with_master; diff --git a/mysql-test/include/not_ndb_default.inc b/mysql-test/include/not_ndb_default.inc new file mode 100644 index 00000000000..1c148732a47 --- /dev/null +++ b/mysql-test/include/not_ndb_default.inc @@ -0,0 +1,4 @@ +--require r/true.require +disable_query_log; +select convert(@@table_type using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE"; +enable_query_log; diff --git a/mysql-test/r/rpl_ndb_auto_inc.result b/mysql-test/r/rpl_ndb_auto_inc.result index 9eca51ad2d9..71217442698 100644 --- a/mysql-test/r/rpl_ndb_auto_inc.result +++ b/mysql-test/r/rpl_ndb_auto_inc.result @@ -4,116 +4,94 @@ reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; start slave; -create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam auto_increment=3; +***************** Test 1 ************************ + +CREATE TABLE t1 (a INT NOT NULL auto_increment,b INT, PRIMARY KEY (a)) ENGINE=NDB auto_increment=3; insert into t1 values (NULL,1),(NULL,2),(NULL,3); -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a b -12 1 -22 2 -32 3 -select * from t1; +3 1 +4 2 +5 3 +******* Select from Slave ************* + +select * from t1 ORDER BY a; a b -12 1 -22 2 -32 3 +3 1 +4 2 +5 3 drop table t1; -create table t1 (a int not null auto_increment,b int, primary key (a)) engine=myisam; +create table t1 (a int not null auto_increment,b int, primary key (a)) engine=NDB; insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4); delete from t1 where b=4; insert into t1 values (NULL,5),(NULL,6); -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a b 1 1 2 2 3 3 -22 5 -32 6 -select * from t1; +5 5 +6 6 +******* Select from Slave ************* + +select * from t1 ORDER BY a; a b 1 1 2 2 3 3 -22 5 -32 6 +5 5 +6 6 drop table t1; -set @@session.auto_increment_increment=100, @@session.auto_increment_offset=10; -show variables like "%auto_inc%"; -Variable_name Value -auto_increment_increment 100 -auto_increment_offset 10 -create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; insert into t1 values (NULL),(5),(NULL); insert into t1 values (250),(NULL); -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a +1 5 -10 -110 +6 250 -310 +251 insert into t1 values (1000); set @@insert_id=400; insert into t1 values(NULL),(NULL); -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a +1 5 -10 -110 +6 250 -310 +251 400 -410 1000 -select * from t1; +1001 +******* Select from Slave ************* + +select * from t1 ORDER BY a; a +1 5 -10 -110 +6 250 -310 +251 400 -410 1000 +1001 drop table t1; -create table t1 (a int not null auto_increment, primary key (a)) engine=innodb; -insert into t1 values (NULL),(5),(NULL); -insert into t1 values (250),(NULL); -select * from t1; -a -5 -10 -110 -250 -310 -insert into t1 values (1000); -set @@insert_id=400; -insert into t1 values(NULL),(NULL); -select * from t1; -a -5 -10 -110 -250 -310 -400 -410 -1000 -select * from t1; -a -5 -10 -110 -250 -310 -400 -410 -1000 -drop table t1; -set @@session.auto_increment_increment=1, @@session.auto_increment_offset=1; -create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; insert into t1 values (NULL),(5),(NULL),(NULL); -insert into t1 values (500),(NULL),(502),(NULL),(NULL); -select * from t1; +insert into t1 values (500),(NULL),(502),(NULL),(600); +******* Select from Master ************* + +select * from t1 ORDER BY a; a 1 5 @@ -123,13 +101,15 @@ a 501 502 503 -504 +600 set @@insert_id=600; insert into t1 values(600),(NULL),(NULL); -ERROR 23000: Duplicate entry '600' for key 1 +ERROR 23000: Can't write; duplicate key in table 't1' set @@insert_id=600; insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL); -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a 1 5 @@ -139,11 +119,14 @@ a 501 502 503 -504 600 +603 +604 610 611 -select * from t1; +******* Select from Slave ************* + +select * from t1 ORDER BY a; a 1 5 @@ -153,33 +136,39 @@ a 501 502 503 -504 600 +603 +604 610 611 drop table t1; -set @@session.auto_increment_increment=10, @@session.auto_increment_offset=1; -create table t1 (a int not null auto_increment, primary key (a)) engine=myisam; +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; insert into t1 values(2),(12),(22),(32),(42); insert into t1 values (NULL),(NULL); insert into t1 values (3),(NULL),(NULL); -select * from t1; -a -1 -3 -11 -21 -31 -select * from t1; +******* Select from Master ************* + +select * from t1 ORDER BY a; a 1 2 3 -11 +4 +5 +******* Select from Slave ************* + +** Slave should have 2, 12, 22, 32, 42 ** +** Master will have 2 but not 12, 22, 32, 42 ** + +select * from t1 ORDER BY a; +a +1 +2 +3 +4 +5 12 -21 22 -31 32 42 drop table t1; diff --git a/mysql-test/r/rpl_ndb_blob2.result b/mysql-test/r/rpl_ndb_blob2.result new file mode 100644 index 00000000000..055efffbd6a --- /dev/null +++ b/mysql-test/r/rpl_ndb_blob2.result @@ -0,0 +1,156 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +DROP TABLE IF EXISTS test.t1; +DROP TABLE IF EXISTS test.t2; +***** Table Create Section **** + +CREATE TABLE test.t1 (c1 int not null auto_increment, +data LONGBLOB, PRIMARY KEY(c1))ENGINE=#; + +**** Data Insert Section test.t1 ***** + +INSERT INTO test.t1 VALUES (NULL, NULL); +INSERT INTO test.t1 VALUES (NULL, repeat('a',1*1024)); +INSERT INTO test.t1 VALUES (NULL, repeat('b',16*1024)); + +**** Data Insert Validation Master Section test.t1 **** + +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1; +LENGTH(data) +NULL +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3; +LENGTH(data) +16384 + +**** Data Insert Validation Slave Section test.t1 **** + +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1; +LENGTH(data) +NULL +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3; +LENGTH(data) +16384 + +**** Data Update Section test.t1 **** + +UPDATE test.t1 set data=repeat('a',18*1024) where c1 = 1; +UPDATE t1 set data=repeat('c',17*1024) where c1 = 2; + +**** Data Update Validation Master Section test.t1 **** + +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1; +LENGTH(data) +18432 +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2; +LENGTH(data) +17408 + +**** Data Update Validation Slave Section test.t1 **** + +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1; +LENGTH(data) +18432 +SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2; +LENGTH(data) +17408 + +**** End Test Section test.t1 **** + +**** Create Table test.t2 **** + +CREATE TABLE test.t2 ( +c1 INT NOT NULL PRIMARY KEY, +c2 TEXT, +c3 INT, +c4 LONGBLOB, +KEY(c3))ENGINE=#; + +*** Setup Values For test.t2 *** +set @x0 = '01234567012345670123456701234567'; +set @x0 = concat(@x0,@x0,@x0,@x0,@x0,@x0,@x0,@x0); +set @b1 = 'b1'; +set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1); +set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1); +set @b1 = concat(@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1,@b1); +set @b1 = concat(@b1,@x0); +set @d1 = 'dd1'; +set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1); +set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1); +set @d1 = concat(@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1,@d1); +set @b2 = 'b2'; +set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2); +set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2); +set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2); +set @b2 = concat(@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2,@b2); +set @d2 = 'dd2'; +set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2); +set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2); +set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2); +set @d2 = concat(@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2,@d2); + +**** Data Insert Section test.t2 ***** + +INSERT INTO test.t2 VALUES(1,@b1,111,@d1); +INSERT INTO test.t2 VALUES(2,@b2,222,@d2); + +**** Data Insert Validation Master Section test.t2 **** + +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=1; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +1 2256 b1 3000 dd1 +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=2; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +2 20000 b2 30000 dd2 + +**** Data Insert Validation Slave Section test.t2 **** + +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=1; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +1 2256 b1 3000 dd1 +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=2; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +2 20000 b2 30000 dd2 + +**** Data Update Section test.t2 **** + +UPDATE test.t2 SET c2=@b2, c4=@d2 WHERE c1=1; +UPDATE test.t2 SET c2=@b1, c4=@d1 WHERE c1=2; + +**** Data Update Validation Master Section test.t2 **** + +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=1; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +1 20000 b2 30000 dd2 +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=2; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +2 2256 b1 3000 dd1 + +**** Data Update Validation Slave Section test.t2 **** + +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=1; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +1 20000 b2 30000 dd2 +SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3) +FROM test.t2 WHERE c1=2; +c1 LENGTH(c2) SUBSTR(c2,1+2*900,2) LENGTH(c4) SUBSTR(c4,1+3*900,3) +2 2256 b1 3000 dd1 + +DROP TABLE IF EXISTS test.t1; +DROP TABLE IF EXISTS test.t2; diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index c8f41c9ef51..26fe81fedd9 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -29,7 +29,6 @@ ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog ndb_alter_table_row : sometimes wrong error 1015!=1046 ndb_gis : garbled msgs from corrupt THD* -rpl_ndb_auto_inc : Bug #17086 rpl_ndb_relay_space : Bug #16993 ndb_binlog_ddl_multi : Bug #17038 rpl_ndb_log : Bug #17158 diff --git a/mysql-test/t/rpl_ndb_auto_inc-master.opt b/mysql-test/t/rpl_ndb_auto_inc-master.opt deleted file mode 100644 index a8a6af19da9..00000000000 --- a/mysql-test/t/rpl_ndb_auto_inc-master.opt +++ /dev/null @@ -1 +0,0 @@ ---auto-increment-increment=10 --auto-increment-offset=2 diff --git a/mysql-test/t/rpl_ndb_auto_inc.test b/mysql-test/t/rpl_ndb_auto_inc.test index c64fe1d2f8f..a9cc9563d88 100644 --- a/mysql-test/t/rpl_ndb_auto_inc.test +++ b/mysql-test/t/rpl_ndb_auto_inc.test @@ -1,7 +1,116 @@ +# +# Test of auto_increment in CRBR +# ##################################### -# Wrapper for rpl_auto_increment.test# +# By: JBM +# Date: 2006-02-10 +# Change: Augmented test to use with cluster ##################################### --- source include/have_innodb.inc -let $engine_type=NDB; -let $engine_type2=myisam; --- source extra/rpl_tests/rpl_auto_increment.test +-- source include/master-slave.inc + +--echo ***************** Test 1 ************************ +--echo +CREATE TABLE t1 (a INT NOT NULL auto_increment,b INT, PRIMARY KEY (a)) ENGINE=NDB auto_increment=3; +insert into t1 values (NULL,1),(NULL,2),(NULL,3); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; + + +sync_slave_with_master; +--echo ******* Select from Slave ************* +--echo +select * from t1 ORDER BY a; +connection master; +drop table t1; + +create table t1 (a int not null auto_increment,b int, primary key (a)) engine=NDB; +insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4); +delete from t1 where b=4; +insert into t1 values (NULL,5),(NULL,6); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; + +sync_slave_with_master; +--echo ******* Select from Slave ************* +--echo +select * from t1 ORDER BY a; +connection master; + +drop table t1; + +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; +# Insert with 2 insert statements to get better testing of logging +insert into t1 values (NULL),(5),(NULL); +insert into t1 values (250),(NULL); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; +insert into t1 values (1000); +set @@insert_id=400; +insert into t1 values(NULL),(NULL); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; + +sync_slave_with_master; +--echo ******* Select from Slave ************* +--echo +select * from t1 ORDER BY a; +connection master; +drop table t1; + +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; +# Insert with 2 insert statements to get better testing of logging +insert into t1 values (NULL),(5),(NULL),(NULL); +insert into t1 values (500),(NULL),(502),(NULL),(600); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; +set @@insert_id=600; +# We expect a duplicate key error that we will ignore below +--error 1022 +insert into t1 values(600),(NULL),(NULL); +set @@insert_id=600; +insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; + +sync_slave_with_master; +--echo ******* Select from Slave ************* +--echo +select * from t1 ORDER BY a; +connection master; +drop table t1; + +# +# Test that auto-increment works when slave has rows in the table +# + +create table t1 (a int not null auto_increment, primary key (a)) engine=NDB; + +sync_slave_with_master; +insert into t1 values(2),(12),(22),(32),(42); +connection master; + +insert into t1 values (NULL),(NULL); +insert into t1 values (3),(NULL),(NULL); +--echo ******* Select from Master ************* +--echo +select * from t1 ORDER BY a; + +sync_slave_with_master; +--echo ******* Select from Slave ************* +--echo +--echo ** Slave should have 2, 12, 22, 32, 42 ** +--echo ** Master will have 2 but not 12, 22, 32, 42 ** +--echo +select * from t1 ORDER BY a; +connection master; + +drop table t1; + +# End cleanup +sync_slave_with_master; diff --git a/mysql-test/t/rpl_ndb_blob2.test b/mysql-test/t/rpl_ndb_blob2.test new file mode 100644 index 00000000000..2e8f02eaf75 --- /dev/null +++ b/mysql-test/t/rpl_ndb_blob2.test @@ -0,0 +1,9 @@ +################################# +# Wrapper for rpl_row_blob.test # +# Using wrapper to share test # +# code between engine tests # +################################# +-- source include/have_ndb.inc +let $engine_type=NDBCLUSTER; +-- source extra/rpl_tests/rpl_row_blob.test + diff --git a/mysql-test/t/rpl_optimize.test b/mysql-test/t/rpl_optimize.test index c1dfaaf999a..80f0c052fc8 100644 --- a/mysql-test/t/rpl_optimize.test +++ b/mysql-test/t/rpl_optimize.test @@ -3,9 +3,14 @@ # You can replace OPTIMIZE by REPAIR. ##################################### # Change Author: JBM -# Change Date: 2006-01-17 -# Change: +# Change Date: 2006-02-09 +# Change: NDB does not and will not support +# OPTIMIZE for memory tables. If and when +# it does support for Disk Data, a new +# version of this test will be need. +# Skipping this test if default engine = ndb ##################################### +-- source include/not_ndb_default.inc -- source include/master-slave.inc create table t1 (a int not null auto_increment primary key, b int, key(b)); From 73bf3f02fb0da095d7e3df0a2983232306a0b99d Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Feb 2006 14:02:47 +0100 Subject: [PATCH 5/6] Test updates mysql-test/t/rpl_ndb_delete_nowhere.test: new wrapper for NDB engine mysql-test/r/rpl_ndb_delete_nowhere.result: new reults file mysql-test/t/disabled.def: Added test to be diabled mysql-test/t/rpl_delete_no_where.test: Fix typo mysql-test/t/rpl_EE_err.test: Updated wrapper mysql-test/extra/rpl_tests/rpl_trig004.test: Updated mysql-test/t/rpl_row_trig004.test: Updated mysql-test/r/rpl_row_trig004.result: Updated mysql-test/t/rpl_ndb_trig004.test: New wrapper for ndb mysql-test/r/rpl_ndb_trig004.result: New result --- mysql-test/extra/rpl_tests/rpl_trig004.test | 11 ++++++-- mysql-test/r/rpl_ndb_delete_nowhere.result | 15 +++++++++++ mysql-test/r/rpl_ndb_trig004.result | 30 +++++++++++++++++++++ mysql-test/r/rpl_row_trig004.result | 1 + mysql-test/t/disabled.def | 1 + mysql-test/t/rpl_EE_err.test | 5 ++++ mysql-test/t/rpl_delete_no_where.test | 4 +++ mysql-test/t/rpl_ndb_delete_nowhere.test | 6 +++++ mysql-test/t/rpl_ndb_trig004.test | 15 +++++++++++ mysql-test/t/rpl_row_trig004.test | 4 +++ 10 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 mysql-test/r/rpl_ndb_delete_nowhere.result create mode 100644 mysql-test/r/rpl_ndb_trig004.result create mode 100644 mysql-test/t/rpl_ndb_delete_nowhere.test create mode 100644 mysql-test/t/rpl_ndb_trig004.test diff --git a/mysql-test/extra/rpl_tests/rpl_trig004.test b/mysql-test/extra/rpl_tests/rpl_trig004.test index 17031421bbe..0206241eae9 100644 --- a/mysql-test/extra/rpl_tests/rpl_trig004.test +++ b/mysql-test/extra/rpl_tests/rpl_trig004.test @@ -5,7 +5,10 @@ # TEST: Use after insert and before inset triggers and stored procdures to # # Update and insert data # ############################################################################# - +# Change Auth: JBM # +# Date: 2006-02-14 # +# Change: Added error, sleep and comments (ndb) # +#################################################### # Begin clean up test section connection master; @@ -25,12 +28,16 @@ CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO t delimiter ;// INSERT INTO test.t2 VALUES (1, 0.0); ---error 0,1062 +# Expect duplicate error 1022 == ndb +--error 1022,1062 INSERT INTO test.t2 VALUES (1, 0.0); #show binlog events; select * from test.t1; select * from test.t2; +# Have to sleep for a few seconds to allow +# NDB injector thread to populate binlog +sleep 10; sync_slave_with_master; connection slave; select * from test.t1; diff --git a/mysql-test/r/rpl_ndb_delete_nowhere.result b/mysql-test/r/rpl_ndb_delete_nowhere.result new file mode 100644 index 00000000000..1cecb030181 --- /dev/null +++ b/mysql-test/r/rpl_ndb_delete_nowhere.result @@ -0,0 +1,15 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +create table t1 (a int, b int) engine=NDB; +insert into t1 values(1,1); +select * from t1; +a b +1 1 +delete from t1; +select * from t1; +a b +drop table t1; diff --git a/mysql-test/r/rpl_ndb_trig004.result b/mysql-test/r/rpl_ndb_trig004.result new file mode 100644 index 00000000000..ba5f0dea91c --- /dev/null +++ b/mysql-test/r/rpl_ndb_trig004.result @@ -0,0 +1,30 @@ +stop slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +reset master; +reset slave; +drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; +start slave; +DROP TRIGGER test.t1_bi_t2; +DROP TABLE IF EXISTS test.t1; +DROP TABLE IF EXISTS test.t2; +CREATE TABLE test.t1 (n MEDIUMINT NOT NULL AUTO_INCREMENT, d FLOAT, PRIMARY KEY(n))ENGINE=NDB; +CREATE TABLE test.t2 (n MEDIUMINT NOT NULL, f FLOAT, PRIMARY KEY(n))ENGINE=NDB; +CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO test.t1 VALUES (NULL, 1.234)// +INSERT INTO test.t2 VALUES (1, 0.0); +INSERT INTO test.t2 VALUES (1, 0.0); +Got one of the listed errors +select * from test.t1; +n d +1 1.234 +select * from test.t2; +n f +1 0 +select * from test.t1; +n d +1 1.234 +select * from test.t2; +n f +1 0 +DROP TRIGGER test.t1_bi_t2; +DROP TABLE test.t1; +DROP TABLE test.t2; diff --git a/mysql-test/r/rpl_row_trig004.result b/mysql-test/r/rpl_row_trig004.result index 04f46121994..d0d0657f875 100644 --- a/mysql-test/r/rpl_row_trig004.result +++ b/mysql-test/r/rpl_row_trig004.result @@ -12,6 +12,7 @@ CREATE TABLE test.t2 (n MEDIUMINT NOT NULL, f FLOAT, PRIMARY KEY(n))ENGINE=INNOD CREATE TRIGGER test.t1_bi_t2 BEFORE INSERT ON test.t2 FOR EACH ROW INSERT INTO test.t1 VALUES (NULL, 1.234)// INSERT INTO test.t2 VALUES (1, 0.0); INSERT INTO test.t2 VALUES (1, 0.0); +Got one of the listed errors select * from test.t1; n d 1 1.234 diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index 182a9cefcd9..bb10fa0d635 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -26,6 +26,7 @@ rpl_bit_npk : Bug#13418 rpl_ddl : Bug#15963 SBR does not show "Definer" correctly rpl_ndb_auto_inc : Bug#17086 rpl_ndb_basic : Bug#16228 [IN REVIEW] +rpl_ndb_delete_nowhere : Bug#17400: Cluster Replication: delete of rows in table without pk fails rpl_ndb_relay_space : Bug#16993 rpl_ndb_sp007 : Bug #17290 rpl_sp : Bug#16456 diff --git a/mysql-test/t/rpl_EE_err.test b/mysql-test/t/rpl_EE_err.test index 28c5af0a192..6d064ae3197 100644 --- a/mysql-test/t/rpl_EE_err.test +++ b/mysql-test/t/rpl_EE_err.test @@ -1,2 +1,7 @@ +######################################################## +# By JBM 2006-02-14 Wrapped to share test code between # +# engines. Added to skip test when NDB is default # +######################################################## +-- source include/not_ndb_default.inc let $engine_type=myisam; -- source extra/rpl_tests/rpl_EE_err.test diff --git a/mysql-test/t/rpl_delete_no_where.test b/mysql-test/t/rpl_delete_no_where.test index b4cbda64ea3..11adb2e6dd5 100644 --- a/mysql-test/t/rpl_delete_no_where.test +++ b/mysql-test/t/rpl_delete_no_where.test @@ -1,2 +1,6 @@ +################################################### +# By JBM 2006-02-14 added to skip test when NDB # +################################################## +-- source include/not_ndb_default.inc let $engine_type=myisam; -- source extra/rpl_tests/rpl_delete_no_where.test diff --git a/mysql-test/t/rpl_ndb_delete_nowhere.test b/mysql-test/t/rpl_ndb_delete_nowhere.test new file mode 100644 index 00000000000..64e0156c3f8 --- /dev/null +++ b/mysql-test/t/rpl_ndb_delete_nowhere.test @@ -0,0 +1,6 @@ +######################################### +# By JBM 2006-02-14 Test wrapping to # +# Share test code between engine tests # +######################################### +let $engine_type=NDB; +-- source extra/rpl_tests/rpl_delete_no_where.test diff --git a/mysql-test/t/rpl_ndb_trig004.test b/mysql-test/t/rpl_ndb_trig004.test new file mode 100644 index 00000000000..7439da563a6 --- /dev/null +++ b/mysql-test/t/rpl_ndb_trig004.test @@ -0,0 +1,15 @@ +############################################################################# +# Original Author: JBM # +# Original Date: 2006-02-14 # +############################################################################# +# TEST: Use before insert triggers and has the second insert fail # +# Test is wrapped to save code and share between engines # +############################################################################# + +# Includes +-- source include/have_binlog_format_row.inc +-- source include/have_ndb.inc +-- source include/master-slave.inc +let $engine_type=NDB; +-- source extra/rpl_tests/rpl_trig004.test + diff --git a/mysql-test/t/rpl_row_trig004.test b/mysql-test/t/rpl_row_trig004.test index 2ad0b46211b..a918c602d56 100644 --- a/mysql-test/t/rpl_row_trig004.test +++ b/mysql-test/t/rpl_row_trig004.test @@ -4,8 +4,12 @@ ############################################################################# # TEST: Use before insert triggers and has the second insert fail # ############################################################################# +# Change by JBM 2006-02-14 added to skip when NDB default engine # +# This test has been wrapped to allow multipal engines to use same code # +############################################################################# # Includes +-- source include/not_ndb_default.inc -- source include/have_binlog_format_row.inc -- source include/have_innodb.inc -- source include/master-slave.inc From 9b9f940608b99d896747c975433e5d8fee67c6e0 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 15 Feb 2006 14:08:48 +0100 Subject: [PATCH 6/6] Second submission of this test case. First one was lost and test had to be recreated from first bk commit. Test current produces core due to Bug #17045 mysql-test/t/ndb_dd_backuprestore.test: Recovered new CDD test mysql-test/r/ndb_dd_backuprestore.result: Results will need to be recreated once bug #17045 is patched mysql-test/t/disabled.def: Added ndb_dd_backuprestore --- mysql-test/r/ndb_dd_backuprestore.result | 423 +++++++++++++++++++++++ mysql-test/t/disabled.def | 1 + mysql-test/t/ndb_dd_backuprestore.test | 320 +++++++++++++++++ 3 files changed, 744 insertions(+) create mode 100644 mysql-test/r/ndb_dd_backuprestore.result create mode 100644 mysql-test/t/ndb_dd_backuprestore.test diff --git a/mysql-test/r/ndb_dd_backuprestore.result b/mysql-test/r/ndb_dd_backuprestore.result new file mode 100644 index 00000000000..b5727418d17 --- /dev/null +++ b/mysql-test/r/ndb_dd_backuprestore.result @@ -0,0 +1,423 @@ +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; +**** 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 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL) TABLESPACE table_space1 STORAGE DISK ENGINE=NDB; SELECT COUNT(*) FROM test.t1; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden 500 1 +2 Sweden 499 1 +3 Sweden 498 1 +4 Sweden 497 1 +5 Sweden 496 1 +DROP TABLE test.t1; +CREATE 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 ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id DROP TABLE test.backup_info; 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; +SELECT COUNT(*) FROM test.t1; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden 500 1 +2 Sweden 499 1 +3 Sweden 498 1 +4 Sweden 497 1 +5 Sweden 496 1 +**** Test 2 Mixed Cluster Test backup and restore **** CREATE TABLE test.t2 +(pk1 MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, c2 TEXT NOT NULL, c3 INT NOT NULL, c4 BIT NOT NULL)ENGINE=NDB; 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; SELECT COUNT(*) FROM test.t1; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden 500 1 +2 Sweden 499 1 +3 Sweden 498 1 +4 Sweden 497 1 +5 Sweden 496 1 +SELECT COUNT(*) FROM test.t2; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden, Texas 500 0 +2 Sweden, Texas 499 0 +3 Sweden, Texas 498 0 +4 Sweden, Texas 497 0 +5 Sweden, Texas 496 0 +SELECT COUNT(*) FROM test.t3; +COUNT(*) +100 +SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2; +LENGTH(data) +16384 +SELECT COUNT(*) FROM test.t4; +COUNT(*) +100 +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2; +LENGTH(data) +16384 +CREATE 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 ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id DROP TABLE test.backup_info; 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; +SELECT COUNT(*) FROM test.t1; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden 500 1 +2 Sweden 499 1 +3 Sweden 498 1 +4 Sweden 497 1 +5 Sweden 496 1 +SELECT COUNT(*) FROM test.t2; +COUNT(*) +500 +SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY pk1 LIMIT 5; +pk1 c2 c3 hex(c4) +1 Sweden, Texas 500 0 +2 Sweden, Texas 499 0 +3 Sweden, Texas 498 0 +4 Sweden, Texas 497 0 +5 Sweden, Texas 496 0 +SELECT COUNT(*) FROM test.t3; +COUNT(*) +100 +SELECT LENGTH(data) FROM test.t3 WHERE c1 = 1; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t3 WHERE c1 = 2; +LENGTH(data) +16384 +SELECT COUNT(*) FROM test.t4; +COUNT(*) +100 +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 1; +LENGTH(data) +1024 +SELECT LENGTH(data) FROM test.t4 WHERE c1 = 2; +LENGTH(data) +16384 +DROP TABLE test.t1; +DROP TABLE test.t2; +DROP TABLE test.t3; +DROP TABLE test.t4; +**** 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 TEXT 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 TEXT 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 TEXT 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 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; +Table Create Table +t1 CREATE TABLE `t1` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 4 SHOW CREATE TABLE test.t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) SHOW CREATE TABLE test.t3; +Table Create Table +t3 CREATE TABLE `t3` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) SHOW CREATE TABLE test.t4; +Table Create Table +t4 CREATE TABLE `t4` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 2 SHOW CREATE TABLE test.t5; +Table Create Table +t5 CREATE TABLE `t5` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) SHOW CREATE TABLE test.t6; +Table Create Table +t6 CREATE TABLE `t6` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) SELECT * FROM information_schema.partitions WHERE table_name= 't1'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't2'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't3'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't4'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't5'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't6'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT COUNT(*) FROM test.t1; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas 2 0 +249 Sweden, Texas 4 0 +248 Sweden, Texas 6 0 +247 Sweden, Texas 8 0 +246 Sweden, Texas 10 0 +SELECT COUNT(*) FROM test.t2; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1 +249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1 +248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1 +247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1 +246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1 +SELECT COUNT(*) FROM test.t3; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1 +249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1 +248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1 +247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1 +246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1 +SELECT COUNT(*) FROM test.t4; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas 2 0 +249 Sweden, Texas 4 0 +248 Sweden, Texas 6 0 +247 Sweden, Texas 8 0 +246 Sweden, Texas 10 0 +SELECT COUNT(*) FROM test.t5; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1 +249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1 +248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1 +247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1 +246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1 +SELECT COUNT(*) FROM test.t6; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1 +249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1 +248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1 +247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1 +246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1 +CREATE 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 ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id DROP TABLE test.backup_info; 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; +SHOW CREATE TABLE test.t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 4 SHOW CREATE TABLE test.t2; +Table Create Table +t2 CREATE TABLE `t2` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (c3) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) SHOW CREATE TABLE test.t3; +Table Create Table +t3 CREATE TABLE `t3` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (c3) (PARTITION x1 VALUES LESS THAN (105) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x3 VALUES LESS THAN (720) ENGINE = ndbcluster) SHOW CREATE TABLE test.t4; +Table Create Table +t4 CREATE TABLE `t4` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY HASH (c3) PARTITIONS 2 SHOW CREATE TABLE test.t5; +Table Create Table +t5 CREATE TABLE `t5` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY KEY (pk1) (PARTITION p0 ENGINE = ndbcluster, PARTITION p1 ENGINE = ndbcluster) SHOW CREATE TABLE test.t6; +Table Create Table +t6 CREATE TABLE `t6` ( + `pk1` mediumint(9) NOT NULL auto_increment, + `c2` text NOT NULL, + `c3` int(11) NOT NULL, + `c4` bit(1) NOT NULL, + PRIMARY KEY (`pk1`,`c3`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 PARTITION BY RANGE (pk1) (PARTITION x1 VALUES LESS THAN (333) ENGINE = ndbcluster, PARTITION x2 VALUES LESS THAN (720) ENGINE = ndbcluster) SELECT * FROM information_schema.partitions WHERE table_name= 't1'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t1 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p2 NULL 3 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t1 p3 NULL 4 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't2'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t2 p0 NULL 1 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t2 p1 NULL 2 NULL KEY NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't3'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t3 x1 NULL 1 NULL RANGE NULL c3 NULL 105 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t3 x2 NULL 2 NULL RANGE NULL c3 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t3 x3 NULL 3 NULL RANGE NULL c3 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't4'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t4 p0 NULL 1 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t4 p1 NULL 2 NULL HASH NULL c3 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't5'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t5 p0 NULL 1 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t5 p1 NULL 2 NULL KEY NULL pk1 NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT * FROM information_schema.partitions WHERE table_name= 't6'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME +NULL test t6 x1 NULL 1 NULL RANGE NULL pk1 NULL 333 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +NULL test t6 x2 NULL 2 NULL RANGE NULL pk1 NULL 720 0 0 0 NULL 0 0 NULL NULL NULL NULL default 0 default +SELECT COUNT(*) FROM test.t1; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t1 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas 2 0 +249 Sweden, Texas 4 0 +248 Sweden, Texas 6 0 +247 Sweden, Texas 8 0 +246 Sweden, Texas 10 0 +SELECT COUNT(*) FROM test.t2; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t2 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1 +249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1 +248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1 +247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1 +246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1 +SELECT COUNT(*) FROM test.t3; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t3 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1 +249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1 +248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1 +247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1 +246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1 +SELECT COUNT(*) FROM test.t4; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t4 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas 2 0 +249 Sweden, Texas 4 0 +248 Sweden, Texas 6 0 +247 Sweden, Texas 8 0 +246 Sweden, Texas 10 0 +SELECT COUNT(*) FROM test.t5; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t5 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 1 1 +249 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 3 1 +248 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 5 1 +247 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 7 1 +246 Sweden, Texas, ITALY, Kyle, JO, JBM,TU 9 1 +SELECT COUNT(*) FROM test.t6; +COUNT(*) +250 +SELECT pk1, c2, c3, hex(c4) FROM test.t6 ORDER BY c3 LIMIT 5; +pk1 c2 c3 hex(c4) +250 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 0 1 +249 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 2 1 +248 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 4 1 +247 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 6 1 +246 TEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXASTEXAS, ITALY, Kyle, JO, JBM,TU 8 1 +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; + diff --git a/mysql-test/t/disabled.def b/mysql-test/t/disabled.def index bb10fa0d635..414bf49e216 100644 --- a/mysql-test/t/disabled.def +++ b/mysql-test/t/disabled.def @@ -18,6 +18,7 @@ ndb_autodiscover : Needs to be fixed w.r.t binlog ndb_autodiscover2 : Needs to be fixed w.r.t binlog ndb_binlog_basic : Results are not deterministic, Tomas will fix ndb_binlog_ddl_multi : Bug#17038 [PATCH PENDING] +ndb_dd_backuprestore : Bug#17045 NdbDictionaryImpl::fix_blob_events causes core ndb_gis : garbled msgs from corrupt THD* ndb_load : Bug#17233 partition_03ndb : Bug#16385 diff --git a/mysql-test/t/ndb_dd_backuprestore.test b/mysql-test/t/ndb_dd_backuprestore.test new file mode 100644 index 00000000000..c82ff2bf33b --- /dev/null +++ b/mysql-test/t/ndb_dd_backuprestore.test @@ -0,0 +1,320 @@ +######################################## +# Author: JBM +# Date: 2006-01-24 +# Purpose: Test CDD backup and restore +######################################## + +-- source include/have_ndb.inc + +--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; + +--exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT + +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 +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; + +DROP TABLESPACE table_space1 +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 + +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 TEXT 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 + +--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 + +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 +SELECT @the_backup_id:=backup_id FROM test.backup_info; +let the_backup_id=`select @the_backup_id`; + +DROP TABLE test.backup_info; +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; + +--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 + +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 TEXT 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 TEXT 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 TEXT 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 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'; + + +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; + +--exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start 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 +SELECT @the_backup_id:=backup_id FROM test.backup_info; +let the_backup_id=`select @the_backup_id`; +DROP TABLE test.backup_info; + +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; + +--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 + +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 + +