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 1 select * from t1 order by a; a 1 20 33 34 35 65 insert into t1 values (100); insert into t1 values (NULL); insert into t1 values (NULL); select * from t1 order by a; a 1 20 33 34 35 65 66 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;