diff options
Diffstat (limited to 'mysql-test/suite/ndb/t/ndb_auto_increment.test')
-rw-r--r-- | mysql-test/suite/ndb/t/ndb_auto_increment.test | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/mysql-test/suite/ndb/t/ndb_auto_increment.test b/mysql-test/suite/ndb/t/ndb_auto_increment.test deleted file mode 100644 index 33021331e44..00000000000 --- a/mysql-test/suite/ndb/t/ndb_auto_increment.test +++ /dev/null @@ -1,293 +0,0 @@ --- source include/have_multi_ndb.inc --- source include/not_embedded.inc - ---disable_warnings -connection server1; -DROP TABLE IF EXISTS t1,t2; -connection server2; -DROP TABLE IF EXISTS t1; -connection server1; ---enable_warnings - -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; - -# Step 1: Verify simple insert -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 2: Verify simple update with higher than highest value causes -# next insert to use updated_value + 1 -update t1 set a = 5 where a = 1; -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 3: Verify insert that inserts higher than highest value causes -# next insert to use inserted_value + 1 -insert into t1 values (7); -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 4: Verify that insert into hole, lower than highest value doesn't -# affect next insert -insert into t1 values (2); -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 5: Verify that update into hole, lower than highest value doesn't -# affect next insert -update t1 set a = 4 where a = 2; -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 6: Verify that delete of highest value doesn't cause the next -# insert to reuse this value -delete from t1 where a = 10; -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 7: Verify that REPLACE has the same effect as INSERT -replace t1 values (NULL); -select * from t1 order by a; -replace t1 values (15); -select * from t1 order by a; -replace into t1 values (NULL); -select * from t1 order by a; - -# Step 8: Verify that REPLACE has the same effect as UPDATE -replace t1 values (15); -select * from t1 order by a; - -# Step 9: Verify that IGNORE doesn't affect auto_increment -insert ignore into t1 values (NULL); -select * from t1 order by a; -insert ignore into t1 values (15), (NULL); -select * from t1 order by a; - -# Step 10: Verify that on duplicate key as UPDATE behaves as an -# UPDATE -insert into t1 values (15) -on duplicate key update a = 20; -insert into t1 values (NULL); -select * from t1 order by a; - -# Step 11: Verify that on duplicate key as INSERT behaves as INSERT -insert into t1 values (NULL) on duplicate key update a = 30; -select * from t1 order by a; -insert into t1 values (30) on duplicate key update a = 40; -select * from t1 order by a; - -#Step 12: Vefify INSERT IGNORE (bug#32055) -insert ignore into t1 values(600),(NULL),(NULL),(610),(NULL); -select * from t1 order by a; -drop table t1; - -#Step 13: Verify auto_increment of unique key -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; -drop table t1; - -#Step 14: Verify that auto_increment_increment and auto_increment_offset -# work as expected - -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -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; -SELECT COUNT(t1.pk) FROM t1, t2 WHERE t1.pk = t2.pk AND t1.b = t2.b AND t1.c = t1.c; -DROP TABLE t1, t2; - -#Step 15: Now verify that behaviour on multiple MySQL Servers behave -# properly. Start by dropping table and recreating it to start -# counters and id caches from zero again. ---disable_warnings -connection server2; -SET @@session.auto_increment_offset=1; -SET @@session.auto_increment_increment=1; -set ndb_autoincrement_prefetch_sz = 32; -drop table if exists t1; -connection server1; -SET @@session.auto_increment_offset=1; -SET @@session.auto_increment_increment=1; -set ndb_autoincrement_prefetch_sz = 32; ---enable_warnings - - -create table t1 (a int not null auto_increment primary key) engine ndb; -# Basic test, ensure that the second server gets a new range. -#Generate record with key = 1 -insert into t1 values (NULL); -connection server2; -#Generate record with key = 33 -insert into t1 values (NULL); -connection server1; -select * from t1 order by a; - -#This insert should not affect the range of the second server -insert into t1 values (20); -connection server2; -insert into t1 values (NULL); -select * from t1 order by a; - -connection server1; -#This insert should remove cached values but also skip values already -#taken by server2, given that there is no method of communicating with -#the other server it should also cause a conflict -connection server1; - -insert into t1 values (35); -insert into t1 values (NULL); -connection server2; ---error ER_DUP_ENTRY, ER_DUP_KEY -insert into t1 values (NULL); -select * from t1 order by a; - -insert into t1 values (100); -insert into t1 values (NULL); -connection server1; -insert into t1 values (NULL); -select * from t1 order by a; - -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; |