mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge sql/ha_ndbcluster.cc: Auto merged sql/mysqld.cc: Auto merged
This commit is contained in:
445
mysql-test/r/ndb_auto_increment.result
Normal file
445
mysql-test/r/ndb_auto_increment.result
Normal file
@ -0,0 +1,445 @@
|
||||
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;
|
@ -112,9 +112,9 @@ unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values(1, 'aAa');
|
||||
insert into t1 values(2, 'aaa');
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry 'aaa' for key 2
|
||||
insert into t1 values(3, 'AAA');
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry 'AAA' for key 2
|
||||
select * from t1 order by p;
|
||||
p a
|
||||
1 aAa
|
||||
@ -138,9 +138,9 @@ unique key(a)
|
||||
) engine=ndb;
|
||||
insert into t1 values (1,'A'),(2,'b '),(3,'C '),(4,'d '),(5,'E'),(6,'f');
|
||||
insert into t1 values(99,'b');
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry 'b' for key 2
|
||||
insert into t1 values(99,'a ');
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry 'a ' for key 2
|
||||
select a,length(a) from t1 order by a;
|
||||
a length(a)
|
||||
A 1
|
||||
|
@ -22,7 +22,7 @@ select * from t1 where b = 4 order by a;
|
||||
a b c
|
||||
3 4 6
|
||||
insert into t1 values(8, 2, 3);
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '2' for key 2
|
||||
select * from t1 order by a;
|
||||
a b c
|
||||
1 2 3
|
||||
@ -89,7 +89,7 @@ a b c
|
||||
1 1 1
|
||||
4 4 NULL
|
||||
insert into t1 values(5,1,1);
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '1-1' for key 2
|
||||
drop table t1;
|
||||
CREATE TABLE t2 (
|
||||
a int unsigned NOT NULL PRIMARY KEY,
|
||||
@ -112,7 +112,7 @@ select * from t2 where b = 4 order by a;
|
||||
a b c
|
||||
3 4 6
|
||||
insert into t2 values(8, 2, 3);
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '2-3' for key 2
|
||||
select * from t2 order by a;
|
||||
a b c
|
||||
1 2 3
|
||||
@ -135,7 +135,7 @@ a b c
|
||||
8 2 3
|
||||
create unique index bi using hash on t2(b);
|
||||
insert into t2 values(9, 3, 1);
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '3' for key 3
|
||||
alter table t2 drop index bi;
|
||||
insert into t2 values(9, 3, 1);
|
||||
select * from t2 order by a;
|
||||
@ -225,7 +225,7 @@ pk a
|
||||
3 NULL
|
||||
4 4
|
||||
insert into t1 values (5,0);
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '0' for key 2
|
||||
select * from t1 order by pk;
|
||||
pk a
|
||||
-1 NULL
|
||||
@ -258,7 +258,7 @@ pk a b c
|
||||
0 NULL 18 NULL
|
||||
1 3 19 abc
|
||||
insert into t2 values(2,3,19,'abc');
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '3-abc' for key 2
|
||||
select * from t2 order by pk;
|
||||
pk a b c
|
||||
-1 1 17 NULL
|
||||
@ -678,7 +678,7 @@ create table t1 (a int primary key, b varchar(1000) not null, unique key (b))
|
||||
engine=ndb charset=utf8;
|
||||
insert into t1 values (1, repeat(_utf8 0xe288ab6474, 200));
|
||||
insert into t1 values (2, repeat(_utf8 0xe288ab6474, 200));
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫dt∫d' for key 2
|
||||
select a, sha1(b) from t1;
|
||||
a sha1(b)
|
||||
1 08f5d02c8b8bc244f275bdfc22c42c5cab0d9d7d
|
||||
|
@ -657,172 +657,3 @@ a b
|
||||
2 NULL
|
||||
3 NULL
|
||||
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;
|
||||
|
@ -26,7 +26,7 @@ pk1 b c
|
||||
2 2 2
|
||||
4 1 1
|
||||
UPDATE t1 set pk1 = 1, c = 2 where pk1 = 4;
|
||||
ERROR 23000: Duplicate entry '' for key 0
|
||||
ERROR 23000: Duplicate entry '2' for key 2
|
||||
UPDATE IGNORE t1 set pk1 = 1, c = 2 where pk1 = 4;
|
||||
select * from t1 order by pk1;
|
||||
pk1 b c
|
||||
|
294
mysql-test/t/ndb_auto_increment.test
Normal file
294
mysql-test/t/ndb_auto_increment.test
Normal file
@ -0,0 +1,294 @@
|
||||
-- source include/have_ndb.inc
|
||||
-- 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
|
||||
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;
|
@ -638,142 +638,4 @@ create table t1(a int primary key, b int, unique key(b)) engine=ndb;
|
||||
insert ignore into t1 values (1,0), (2,0), (2,null), (3,null);
|
||||
select * from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
# Bug#26342 auto_increment_increment AND auto_increment_offset REALLY REALLY anger NDB cluster
|
||||
|
||||
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;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
Reference in New Issue
Block a user