mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 22:12:30 +01:00
539682ceba
Rename: mysql-test/r/ndb_auto_increment.result -> mysql-test/suite/ndb/r/ndb_auto_increment.result ndb_auto_increment.test, ndb_auto_increment.result: Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases ha_ndbcluster.cc: Bug #31956 auto increment bugs in MySQL Cluster: Merging from 5.0 ndb_auto_increment.test: Rename: mysql-test/t/ndb_auto_increment.test -> mysql-test/suite/ndb/t/ndb_auto_increment.test sql/ha_ndbcluster.cc: Bug #31956 auto increment bugs in MySQL Cluster: Merging from 5.0 mysql-test/suite/ndb/t/ndb_auto_increment.test: Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases mysql-test/suite/ndb/r/ndb_auto_increment.result: Bug #31956 auto increment bugs in MySQL Cluster: Adapted test cases
445 lines
7.7 KiB
Text
445 lines
7.7 KiB
Text
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;
|