mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
eef88fade1
ndb/test/ndbapi/testOIBasic.cpp: test ordering, add hash indexes, fix result verification mysql-test/ndb/ndb_range_bounds.pl: minor mysql-test/r/ndb_index_ordered.result: minor mysql-test/t/ndb_index_ordered.test: minor
421 lines
6.7 KiB
Text
421 lines
6.7 KiB
Text
drop table if exists t1, test1, test2;
|
|
CREATE TABLE t1 (
|
|
a int unsigned NOT NULL PRIMARY KEY,
|
|
b int unsigned not null,
|
|
c int unsigned,
|
|
KEY(b)
|
|
) engine=ndbcluster;
|
|
insert t1 values(1, 2, 3), (2,3, 5), (3, 4, 6), (4, 5, 8), (5,6, 2), (6,7, 2);
|
|
select * from t1 order by b;
|
|
a b c
|
|
1 2 3
|
|
2 3 5
|
|
3 4 6
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
select * from t1 where b >= 4 order by b;
|
|
a b c
|
|
3 4 6
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
select * from t1 where b = 4 order by b;
|
|
a b c
|
|
3 4 6
|
|
select * from t1 where b > 4 order by b;
|
|
a b c
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
select * from t1 where b < 4 order by b;
|
|
a b c
|
|
1 2 3
|
|
2 3 5
|
|
select * from t1 where b <= 4 order by b;
|
|
a b c
|
|
1 2 3
|
|
2 3 5
|
|
3 4 6
|
|
select tt1.* from t1 as tt1, t1 as tt2 use index(b) where tt1.b = tt2.b order by tt1.b;
|
|
a b c
|
|
1 2 3
|
|
2 3 5
|
|
3 4 6
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
select a, b, c from t1 where a!=2 and c=6;
|
|
a b c
|
|
3 4 6
|
|
select a, b, c from t1 where a!=2 order by a;
|
|
a b c
|
|
1 2 3
|
|
3 4 6
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
update t1 set c = 3 where b = 3;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 3
|
|
2 3 3
|
|
3 4 6
|
|
4 5 8
|
|
5 6 2
|
|
6 7 2
|
|
update t1 set c = 10 where b >= 6;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 3
|
|
2 3 3
|
|
3 4 6
|
|
4 5 8
|
|
5 6 10
|
|
6 7 10
|
|
update t1 set c = 11 where b < 5;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 11
|
|
2 3 11
|
|
3 4 11
|
|
4 5 8
|
|
5 6 10
|
|
6 7 10
|
|
update t1 set c = 12 where b > 0;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 12
|
|
2 3 12
|
|
3 4 12
|
|
4 5 12
|
|
5 6 12
|
|
6 7 12
|
|
update t1 set c = 13 where b <= 3;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 13
|
|
2 3 13
|
|
3 4 12
|
|
4 5 12
|
|
5 6 12
|
|
6 7 12
|
|
update t1 set b = b + 1 where b > 4 and b < 7;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 13
|
|
2 3 13
|
|
3 4 12
|
|
4 6 12
|
|
5 7 12
|
|
6 7 12
|
|
update t1 set a = a + 10 where b > 1 and b < 7;
|
|
select * from t1 order by a;
|
|
a b c
|
|
5 7 12
|
|
6 7 12
|
|
11 2 13
|
|
12 3 13
|
|
13 4 12
|
|
14 6 12
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
a int unsigned NOT NULL PRIMARY KEY,
|
|
b int unsigned not null,
|
|
c int unsigned,
|
|
KEY(b)
|
|
) engine=ndbcluster;
|
|
insert t1 values(1, 2, 13), (2,3, 13), (3, 4, 12), (4, 5, 12), (5,6, 12), (6,7, 12);
|
|
delete from t1 where b = 3;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 13
|
|
3 4 12
|
|
4 5 12
|
|
5 6 12
|
|
6 7 12
|
|
delete from t1 where b >= 6;
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 13
|
|
3 4 12
|
|
4 5 12
|
|
delete from t1 where b < 4;
|
|
select * from t1 order by a;
|
|
a b c
|
|
3 4 12
|
|
4 5 12
|
|
delete from t1 where b > 5;
|
|
select * from t1 order by a;
|
|
a b c
|
|
3 4 12
|
|
4 5 12
|
|
delete from t1 where b <= 4;
|
|
select * from t1 order by a;
|
|
a b c
|
|
4 5 12
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
a int unsigned NOT NULL PRIMARY KEY,
|
|
b int unsigned not null,
|
|
c int unsigned not null
|
|
) engine = ndb;
|
|
create index a1 on t1 (b, c);
|
|
insert into t1 values (1, 2, 13);
|
|
insert into t1 values (2,3, 13);
|
|
insert into t1 values (3, 4, 12);
|
|
insert into t1 values (4, 5, 12);
|
|
insert into t1 values (5,6, 12);
|
|
insert into t1 values (6,7, 12);
|
|
insert into t1 values (7, 2, 1);
|
|
insert into t1 values (8,3, 6);
|
|
insert into t1 values (9, 4, 12);
|
|
insert into t1 values (14, 5, 4);
|
|
insert into t1 values (15,5,5);
|
|
insert into t1 values (16,5, 6);
|
|
insert into t1 values (17,4,4);
|
|
insert into t1 values (18,1, 7);
|
|
select * from t1 order by a;
|
|
a b c
|
|
1 2 13
|
|
2 3 13
|
|
3 4 12
|
|
4 5 12
|
|
5 6 12
|
|
6 7 12
|
|
7 2 1
|
|
8 3 6
|
|
9 4 12
|
|
14 5 4
|
|
15 5 5
|
|
16 5 6
|
|
17 4 4
|
|
18 1 7
|
|
select * from t1 where b<=5 order by a;
|
|
a b c
|
|
1 2 13
|
|
2 3 13
|
|
3 4 12
|
|
4 5 12
|
|
7 2 1
|
|
8 3 6
|
|
9 4 12
|
|
14 5 4
|
|
15 5 5
|
|
16 5 6
|
|
17 4 4
|
|
18 1 7
|
|
select * from t1 where b<=5 and c=0;
|
|
a b c
|
|
insert into t1 values (19,4, 0);
|
|
select * from t1 where b<=5 and c=0;
|
|
a b c
|
|
19 4 0
|
|
select * from t1 where b=4 and c<=5 order by a;
|
|
a b c
|
|
17 4 4
|
|
19 4 0
|
|
select * from t1 where b<=4 and c<=5 order by a;
|
|
a b c
|
|
7 2 1
|
|
17 4 4
|
|
19 4 0
|
|
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
|
|
a b c
|
|
19 4 0
|
|
select count(*) from t1 where b = 0;
|
|
count(*)
|
|
0
|
|
select count(*) from t1 where b = 1;
|
|
count(*)
|
|
1
|
|
drop table t1;
|
|
CREATE TABLE t1 (
|
|
a int unsigned NOT NULL PRIMARY KEY,
|
|
b int unsigned,
|
|
c int unsigned,
|
|
KEY bc(b,c)
|
|
) engine = ndb;
|
|
insert into t1 values(1,1,1),(2,NULL,2),(3,NULL,NULL),(4,4,NULL);
|
|
select * from t1 use index (bc) where b IS NULL order by a;
|
|
a b c
|
|
2 NULL 2
|
|
3 NULL NULL
|
|
select * from t1 use index (bc)order by a;
|
|
a b c
|
|
1 1 1
|
|
2 NULL 2
|
|
3 NULL NULL
|
|
4 4 NULL
|
|
select * from t1 use index (bc) order by a;
|
|
a b c
|
|
1 1 1
|
|
2 NULL 2
|
|
3 NULL NULL
|
|
4 4 NULL
|
|
select * from t1 use index (PRIMARY) where b IS NULL order by a;
|
|
a b c
|
|
2 NULL 2
|
|
3 NULL NULL
|
|
select * from t1 use index (bc) where b IS NULL order by a;
|
|
a b c
|
|
2 NULL 2
|
|
3 NULL NULL
|
|
select * from t1 use index (bc) where b IS NULL and c IS NULL order by a;
|
|
a b c
|
|
3 NULL NULL
|
|
select * from t1 use index (bc) where b IS NULL and c = 2 order by a;
|
|
a b c
|
|
2 NULL 2
|
|
select * from t1 use index (bc) where b < 4 order by a;
|
|
a b c
|
|
1 1 1
|
|
select * from t1 use index (bc) where b IS NOT NULL order by a;
|
|
a b c
|
|
1 1 1
|
|
4 4 NULL
|
|
drop table t1;
|
|
create table t1 (
|
|
a int unsigned primary key,
|
|
b int unsigned,
|
|
c char(10),
|
|
key bc (b, c)
|
|
) engine=ndb;
|
|
insert into t1 values(1,1,'a'),(2,2,'b'),(3,3,'c'),(4,4,'d'),(5,5,'e');
|
|
insert into t1 select a*7,10*b,'f' from t1;
|
|
insert into t1 select a*13,10*b,'g' from t1;
|
|
insert into t1 select a*17,10*b,'h' from t1;
|
|
insert into t1 select a*19,10*b,'i' from t1;
|
|
insert into t1 select a*23,10*b,'j' from t1;
|
|
insert into t1 select a*29,10*b,'k' from t1;
|
|
select b, c from t1 where b <= 10 and c <'f' order by b, c;
|
|
b c
|
|
1 a
|
|
2 b
|
|
3 c
|
|
4 d
|
|
5 e
|
|
select b, c from t1 where b <= 10 and c <'f' order by b desc, c desc;
|
|
b c
|
|
5 e
|
|
4 d
|
|
3 c
|
|
2 b
|
|
1 a
|
|
select b, c from t1 where b=4000 and c<'k' order by b, c;
|
|
b c
|
|
4000 h
|
|
4000 i
|
|
4000 i
|
|
4000 i
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
select b, c from t1 where b=4000 and c<'k' order by b desc, c desc;
|
|
b c
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 j
|
|
4000 i
|
|
4000 i
|
|
4000 i
|
|
4000 h
|
|
select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b, c;
|
|
b c
|
|
1000 h
|
|
1000 i
|
|
1000 i
|
|
1000 i
|
|
2000 h
|
|
2000 i
|
|
2000 i
|
|
2000 i
|
|
3000 h
|
|
3000 i
|
|
3000 i
|
|
3000 i
|
|
4000 h
|
|
4000 i
|
|
4000 i
|
|
4000 i
|
|
5000 h
|
|
5000 i
|
|
5000 i
|
|
5000 i
|
|
10000 i
|
|
20000 i
|
|
30000 i
|
|
40000 i
|
|
50000 i
|
|
select b, c from t1 where 1000<=b and b<=100000 and c<'j' order by b desc, c desc;
|
|
b c
|
|
50000 i
|
|
40000 i
|
|
30000 i
|
|
20000 i
|
|
10000 i
|
|
5000 i
|
|
5000 i
|
|
5000 i
|
|
5000 h
|
|
4000 i
|
|
4000 i
|
|
4000 i
|
|
4000 h
|
|
3000 i
|
|
3000 i
|
|
3000 i
|
|
3000 h
|
|
2000 i
|
|
2000 i
|
|
2000 i
|
|
2000 h
|
|
1000 i
|
|
1000 i
|
|
1000 i
|
|
1000 h
|
|
select min(b), max(b) from t1;
|
|
min(b) max(b)
|
|
1 5000000
|
|
drop table t1;
|
|
CREATE TABLE test1 (
|
|
SubscrID int(11) NOT NULL auto_increment,
|
|
UsrID int(11) NOT NULL default '0',
|
|
PRIMARY KEY (SubscrID),
|
|
KEY idx_usrid (UsrID)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
|
INSERT INTO test1 VALUES (2,224),(3,224),(1,224);
|
|
CREATE TABLE test2 (
|
|
SbclID int(11) NOT NULL auto_increment,
|
|
SbcrID int(11) NOT NULL default '0',
|
|
PRIMARY KEY (SbclID),
|
|
KEY idx_sbcrid (SbcrID)
|
|
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
|
|
INSERT INTO test2 VALUES (3,2),(1,1),(2,1),(4,2);
|
|
select * from test1 order by 1;
|
|
SubscrID UsrID
|
|
1 224
|
|
2 224
|
|
3 224
|
|
select * from test2 order by 1;
|
|
SbclID SbcrID
|
|
1 1
|
|
2 1
|
|
3 2
|
|
4 2
|
|
SELECT s.SubscrID,l.SbclID FROM test1 s left JOIN test2 l ON
|
|
l.SbcrID=s.SubscrID WHERE s.UsrID=224 order by 1, 2;
|
|
SubscrID SbclID
|
|
1 1
|
|
1 2
|
|
2 3
|
|
2 4
|
|
3 NULL
|
|
drop table test1;
|
|
drop table test2;
|