mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
446 lines
7.7 KiB
Text
446 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 1
|
||
|
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;
|