Loading mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test +1 −8 Original line number Diff line number Diff line Loading @@ -973,14 +973,7 @@ SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1; --echo --echo ** update from master ** connection master; ####################################### # This test should be uncommented # once bug30674 is patched ####################################### #*************************** #UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3; #*************************** UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3; --replace_column 5 CURRENT_TIMESTAMP SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1; Loading mysql-test/include/have_multi_ndb.inc +23 −9 Original line number Diff line number Diff line Loading @@ -5,10 +5,6 @@ connect (server2,127.0.0.1,root,,test,$MASTER_MYPORT1,); # Check that server1 has NDB support connection server1; disable_query_log; --disable_warnings drop table if exists t1, t2; --enable_warnings flush tables; --require r/true.require select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; --source include/ndb_not_readonly.inc Loading @@ -17,14 +13,32 @@ enable_query_log; # Check that server2 has NDB support connection server2; disable_query_log; --disable_warnings drop table if exists t1, t2; --enable_warnings flush tables; --require r/true.require select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; --source include/ndb_not_readonly.inc enable_query_log; # Set the default connection to 'server1' # cleanup connection server1; disable_query_log; disable_warnings; --error 0,1051 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; flush tables; flush status; enable_warnings; enable_query_log; connection server2; disable_query_log; disable_warnings; --error 0,1051 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; flush tables; flush status; enable_warnings; enable_query_log; # Set the default connection connection server1; mysql-test/mysql-test-run.pl +24 −2 Original line number Diff line number Diff line Loading @@ -129,7 +129,15 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'}; our $default_vardir; our $opt_usage; our $opt_suites= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run our $opt_suites; our $opt_suites_default= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run our @extra_suites= ( ["mysql-5.1-new-ndb", "ndb_team"], ["mysql-5.1-telco-6.2", "ndb_team"], ["mysql-5.1-telco-6.3", "ndb_team"], ); our $opt_script_debug= 0; # Script debugging, enable with --script-debug our $opt_verbose= 0; # Verbose output, enable with --verbose Loading Loading @@ -397,6 +405,20 @@ sub main () { else { # Figure out which tests we are going to run if (!$opt_suites) { # use default and add any extra_suites as defined $opt_suites= $opt_suites_default; my $ddd= basename(dirname($glob_mysql_test_dir)); foreach my $extra_suite (@extra_suites) { if ($extra_suite->[0] eq "$ddd") { $opt_suites= "$extra_suite->[1],$opt_suites"; } } } my $tests= collect_test_cases($opt_suites); # Turn off NDB and other similar options if no tests use it Loading Loading @@ -5195,7 +5217,7 @@ Options to control what test suites or cases to run start-from=PREFIX Run test cases starting from test prefixed with PREFIX suite[s]=NAME1,..,NAMEN Collect tests in suites from the comma separated list of suite names. The default is: "$opt_suites" The default is: "$opt_suites_default" skip-rpl Skip the replication test cases. skip-im Don't start IM, and skip the IM test cases big-test Set the environment variable BIG_TEST, which can be Loading mysql-test/suite/ndb/r/ndb_auto_increment.result 0 → 100644 +445 −0 Original line number Diff line number Diff line DROP TABLE IF EXISTS t1,t2; DROP TABLE IF EXISTS t1; set @old_auto_increment_offset = @@session.auto_increment_offset; set @old_auto_increment_increment = @@session.auto_increment_increment; set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz; flush status; create table t1 (a int not null auto_increment primary key) engine ndb; insert into t1 values (NULL); select * from t1 order by a; a 1 update t1 set a = 5 where a = 1; insert into t1 values (NULL); select * from t1 order by a; a 5 6 insert into t1 values (7); insert into t1 values (NULL); select * from t1 order by a; a 5 6 7 8 insert into t1 values (2); insert into t1 values (NULL); select * from t1 order by a; a 2 5 6 7 8 9 update t1 set a = 4 where a = 2; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 10 delete from t1 where a = 10; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 replace t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 replace t1 values (15); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 replace into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 replace t1 values (15); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 insert ignore into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 17 insert ignore into t1 values (15), (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 17 18 insert into t1 values (15) on duplicate key update a = 20; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 insert into t1 values (NULL) on duplicate key update a = 30; select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 insert into t1 values (30) on duplicate key update a = 40; select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 30 insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 30 600 601 602 610 611 drop table t1; create table t1 (a int not null primary key, b int not null unique auto_increment) engine ndb; insert into t1 values (1, NULL); insert into t1 values (3, NULL); update t1 set b = 3 where a = 3; insert into t1 values (4, NULL); select * from t1 order by a; a b 1 1 3 3 4 4 drop table t1; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 1 1 0 11 2 1 21 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 TRUNCATE t1; TRUNCATE t2; SET @@session.auto_increment_offset=5; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 27 4 3 35 5 4 99 6 5 105 7 6 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 7 TRUNCATE t1; TRUNCATE t2; SET @@session.auto_increment_increment=2; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 1 1 0 3 2 1 5 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 7; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 7 1 0 8 2 1 9 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 3; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 7; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 15 1 0 25 2 1 35 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 5; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 100; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 105 1 0 115 2 1 125 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; set ndb_autoincrement_prefetch_sz = 32; drop table if exists t1; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; set ndb_autoincrement_prefetch_sz = 32; create table t1 (a int not null auto_increment primary key) engine ndb; insert into t1 values (NULL); insert into t1 values (NULL); select * from t1 order by a; a 1 33 insert into t1 values (20); insert into t1 values (NULL); select * from t1 order by a; a 1 20 33 34 insert into t1 values (35); insert into t1 values (NULL); insert into t1 values (NULL); ERROR 23000: Duplicate entry '35' for key 'PRIMARY' select * from t1 order by a; a 1 20 21 33 34 35 insert into t1 values (100); insert into t1 values (NULL); insert into t1 values (NULL); select * from t1 order by a; a 1 20 21 22 33 34 35 100 101 set auto_increment_offset = @old_auto_increment_offset; set auto_increment_increment = @old_auto_increment_increment; set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz; drop table t1; mysql-test/suite/ndb/r/ndb_basic.result +24 −0 Original line number Diff line number Diff line Loading @@ -869,6 +869,30 @@ a b 3 30 4 1 drop table t1,t2; create table t1 (a varchar(100) primary key, b varchar(100)) engine = NDB; insert into t1 values ('a', 'a'),('b','b'),('c', 'c'),('aa', 'aa'),('bb', 'bb'),('cc', 'cc'); replace into t1 values ('a', '-a'); replace into t1 values ('b', '-b'); replace into t1 values ('c', '-c'); replace into t1 values ('aa', '-aa'); replace into t1 values ('bb', '-bb'); replace into t1 values ('cc', '-cc'); replace into t1 values ('aaa', '-aaa'); replace into t1 values ('bbb', '-bbb'); replace into t1 values ('ccc', '-ccc'); select * from t1 order by 1,2; a b a -a aa -aa aaa -aaa b -b bb -bb bbb -bbb c -c cc -cc ccc -ccc drop table t1; End of 5.0 tests CREATE TABLE t1 (a VARCHAR(255) NOT NULL, CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb; Loading Loading
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test +1 −8 Original line number Diff line number Diff line Loading @@ -973,14 +973,7 @@ SELECT c1,hex(c4),c5 FROM t18 ORDER BY c1; --echo --echo ** update from master ** connection master; ####################################### # This test should be uncommented # once bug30674 is patched ####################################### #*************************** #UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3; #*************************** UPDATE t18 SET c5 = 'TEST' WHERE c6 = 3; --replace_column 5 CURRENT_TIMESTAMP SELECT c1,hex(c4),c5,c6,c7 FROM t18 ORDER BY c1; Loading
mysql-test/include/have_multi_ndb.inc +23 −9 Original line number Diff line number Diff line Loading @@ -5,10 +5,6 @@ connect (server2,127.0.0.1,root,,test,$MASTER_MYPORT1,); # Check that server1 has NDB support connection server1; disable_query_log; --disable_warnings drop table if exists t1, t2; --enable_warnings flush tables; --require r/true.require select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; --source include/ndb_not_readonly.inc Loading @@ -17,14 +13,32 @@ enable_query_log; # Check that server2 has NDB support connection server2; disable_query_log; --disable_warnings drop table if exists t1, t2; --enable_warnings flush tables; --require r/true.require select (support = 'YES' or support = 'DEFAULT') as `TRUE` from information_schema.engines where engine = 'ndbcluster'; --source include/ndb_not_readonly.inc enable_query_log; # Set the default connection to 'server1' # cleanup connection server1; disable_query_log; disable_warnings; --error 0,1051 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; flush tables; flush status; enable_warnings; enable_query_log; connection server2; disable_query_log; disable_warnings; --error 0,1051 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; flush tables; flush status; enable_warnings; enable_query_log; # Set the default connection connection server1;
mysql-test/mysql-test-run.pl +24 −2 Original line number Diff line number Diff line Loading @@ -129,7 +129,15 @@ our $opt_vs_config = $ENV{'MTR_VS_CONFIG'}; our $default_vardir; our $opt_usage; our $opt_suites= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run our $opt_suites; our $opt_suites_default= "main,binlog,rpl,rpl_ndb,ndb"; # Default suites to run our @extra_suites= ( ["mysql-5.1-new-ndb", "ndb_team"], ["mysql-5.1-telco-6.2", "ndb_team"], ["mysql-5.1-telco-6.3", "ndb_team"], ); our $opt_script_debug= 0; # Script debugging, enable with --script-debug our $opt_verbose= 0; # Verbose output, enable with --verbose Loading Loading @@ -397,6 +405,20 @@ sub main () { else { # Figure out which tests we are going to run if (!$opt_suites) { # use default and add any extra_suites as defined $opt_suites= $opt_suites_default; my $ddd= basename(dirname($glob_mysql_test_dir)); foreach my $extra_suite (@extra_suites) { if ($extra_suite->[0] eq "$ddd") { $opt_suites= "$extra_suite->[1],$opt_suites"; } } } my $tests= collect_test_cases($opt_suites); # Turn off NDB and other similar options if no tests use it Loading Loading @@ -5195,7 +5217,7 @@ Options to control what test suites or cases to run start-from=PREFIX Run test cases starting from test prefixed with PREFIX suite[s]=NAME1,..,NAMEN Collect tests in suites from the comma separated list of suite names. The default is: "$opt_suites" The default is: "$opt_suites_default" skip-rpl Skip the replication test cases. skip-im Don't start IM, and skip the IM test cases big-test Set the environment variable BIG_TEST, which can be Loading
mysql-test/suite/ndb/r/ndb_auto_increment.result 0 → 100644 +445 −0 Original line number Diff line number Diff line DROP TABLE IF EXISTS t1,t2; DROP TABLE IF EXISTS t1; set @old_auto_increment_offset = @@session.auto_increment_offset; set @old_auto_increment_increment = @@session.auto_increment_increment; set @old_ndb_autoincrement_prefetch_sz = @@session.ndb_autoincrement_prefetch_sz; flush status; create table t1 (a int not null auto_increment primary key) engine ndb; insert into t1 values (NULL); select * from t1 order by a; a 1 update t1 set a = 5 where a = 1; insert into t1 values (NULL); select * from t1 order by a; a 5 6 insert into t1 values (7); insert into t1 values (NULL); select * from t1 order by a; a 5 6 7 8 insert into t1 values (2); insert into t1 values (NULL); select * from t1 order by a; a 2 5 6 7 8 9 update t1 set a = 4 where a = 2; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 10 delete from t1 where a = 10; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 replace t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 replace t1 values (15); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 replace into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 replace t1 values (15); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 insert ignore into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 17 insert ignore into t1 values (15), (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 15 16 17 18 insert into t1 values (15) on duplicate key update a = 20; insert into t1 values (NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 insert into t1 values (NULL) on duplicate key update a = 30; select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 insert into t1 values (30) on duplicate key update a = 40; select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 30 insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL); select * from t1 order by a; a 4 5 6 7 8 9 11 12 16 17 18 20 21 22 30 600 601 602 610 611 drop table t1; create table t1 (a int not null primary key, b int not null unique auto_increment) engine ndb; insert into t1 values (1, NULL); insert into t1 values (3, NULL); update t1 set b = 3 where a = 3; insert into t1 values (4, NULL); select * from t1 order by a; a b 1 1 3 3 4 4 drop table t1; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 1 1 0 11 2 1 21 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 TRUNCATE t1; TRUNCATE t2; SET @@session.auto_increment_offset=5; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t1 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (pk,b,c) VALUES (27,4,3),(NULL,5,4),(99,6,5),(NULL,7,6); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 27 4 3 35 5 4 99 6 5 105 7 6 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 7 TRUNCATE t1; TRUNCATE t2; SET @@session.auto_increment_increment=2; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 1 1 0 3 2 1 5 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 7; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 7 1 0 8 2 1 9 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 3; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 3; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 7; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 7; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 15 1 0 25 2 1 35 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 5; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 5; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 5 1 0 15 2 1 25 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; CREATE TABLE t1 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=NDBCLUSTER AUTO_INCREMENT = 100; CREATE TABLE t2 ( pk INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b INT NOT NULL, c INT NOT NULL UNIQUE ) ENGINE=MYISAM AUTO_INCREMENT = 100; SET @@session.auto_increment_offset=5; SET @@session.auto_increment_increment=10; INSERT INTO t1 (b,c) VALUES (1,0),(2,1),(3,2); INSERT INTO t2 (b,c) VALUES (1,0),(2,1),(3,2); SELECT * FROM t1 ORDER BY pk; pk b c 105 1 0 115 2 1 125 3 2 SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; COUNT(t1.pk) 3 DROP TABLE t1, t2; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; set ndb_autoincrement_prefetch_sz = 32; drop table if exists t1; SET @@session.auto_increment_offset=1; SET @@session.auto_increment_increment=1; set ndb_autoincrement_prefetch_sz = 32; create table t1 (a int not null auto_increment primary key) engine ndb; insert into t1 values (NULL); insert into t1 values (NULL); select * from t1 order by a; a 1 33 insert into t1 values (20); insert into t1 values (NULL); select * from t1 order by a; a 1 20 33 34 insert into t1 values (35); insert into t1 values (NULL); insert into t1 values (NULL); ERROR 23000: Duplicate entry '35' for key 'PRIMARY' select * from t1 order by a; a 1 20 21 33 34 35 insert into t1 values (100); insert into t1 values (NULL); insert into t1 values (NULL); select * from t1 order by a; a 1 20 21 22 33 34 35 100 101 set auto_increment_offset = @old_auto_increment_offset; set auto_increment_increment = @old_auto_increment_increment; set ndb_autoincrement_prefetch_sz = @old_ndb_autoincrement_prefetch_sz; drop table t1;
mysql-test/suite/ndb/r/ndb_basic.result +24 −0 Original line number Diff line number Diff line Loading @@ -869,6 +869,30 @@ a b 3 30 4 1 drop table t1,t2; create table t1 (a varchar(100) primary key, b varchar(100)) engine = NDB; insert into t1 values ('a', 'a'),('b','b'),('c', 'c'),('aa', 'aa'),('bb', 'bb'),('cc', 'cc'); replace into t1 values ('a', '-a'); replace into t1 values ('b', '-b'); replace into t1 values ('c', '-c'); replace into t1 values ('aa', '-aa'); replace into t1 values ('bb', '-bb'); replace into t1 values ('cc', '-cc'); replace into t1 values ('aaa', '-aaa'); replace into t1 values ('bbb', '-bbb'); replace into t1 values ('ccc', '-ccc'); select * from t1 order by 1,2; a b a -a aa -aa aaa -aaa b -b bb -bb bbb -bbb c -c cc -cc ccc -ccc drop table t1; End of 5.0 tests CREATE TABLE t1 (a VARCHAR(255) NOT NULL, CONSTRAINT pk_a PRIMARY KEY (a))engine=ndb; Loading