Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
d51358b0
Commit
d51358b0
authored
May 24, 2006
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal:/home/bk/mysql-5.1-new-maint
into shellback.(none):/home/msvensson/mysql/mysql-5.1-new-maint
parents
0a745f26
ed8a171e
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
464 additions
and
334 deletions
+464
-334
mysql-test/r/func_group.result
mysql-test/r/func_group.result
+0
-147
mysql-test/r/func_group_innodb.result
mysql-test/r/func_group_innodb.result
+147
-0
mysql-test/r/group_min_max.result
mysql-test/r/group_min_max.result
+1
-40
mysql-test/r/group_min_max_innodb.result
mysql-test/r/group_min_max_innodb.result
+72
-0
mysql-test/r/join_outer.result
mysql-test/r/join_outer.result
+0
-19
mysql-test/r/join_outer_innodb.result
mysql-test/r/join_outer_innodb.result
+19
-0
mysql-test/t/func_group.test
mysql-test/t/func_group.test
+11
-76
mysql-test/t/func_group_innodb.test
mysql-test/t/func_group_innodb.test
+85
-0
mysql-test/t/group_min_max.test
mysql-test/t/group_min_max.test
+6
-34
mysql-test/t/group_min_max_innodb.test
mysql-test/t/group_min_max_innodb.test
+95
-0
mysql-test/t/join_outer.test
mysql-test/t/join_outer.test
+2
-18
mysql-test/t/join_outer_innodb.test
mysql-test/t/join_outer_innodb.test
+26
-0
No files found.
mysql-test/r/func_group.result
View file @
d51358b0
...
...
@@ -653,15 +653,6 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range k2 k2 4 NULL 6 Using where; Using index
1 SIMPLE t1 index NULL PRIMARY 3 NULL 15 Using index
drop table t1, t2;
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
insert into t1 values (1, 3);
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
1
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
Case When Count(*) < MAX_REQ Then 1 Else 0 End
1
drop table t1;
create table t1 (a char(10));
insert into t1 values ('a'),('b'),('c');
select coercibility(max(a)) from t1;
...
...
@@ -821,144 +812,6 @@ SELECT MAX(id) FROM t1 WHERE id < 3 AND a=2 AND b=6;
MAX(id)
NULL
DROP TABLE t1;
create table t1m (a int) engine=myisam;
create table t1i (a int) engine=innodb;
create table t2m (a int) engine=myisam;
create table t2i (a int) engine=innodb;
insert into t2m values (5);
insert into t2i values (5);
select min(a) from t1m;
min(a)
NULL
select min(7) from t1m;
min(7)
NULL
select min(7) from DUAL;
min(7)
NULL
explain select min(7) from t2m join t1m;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
select min(7) from t2m join t1m;
min(7)
NULL
select max(a) from t1m;
max(a)
NULL
select max(7) from t1m;
max(7)
NULL
select max(7) from DUAL;
max(7)
NULL
explain select max(7) from t2m join t1m;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
select max(7) from t2m join t1m;
max(7)
NULL
select 1, min(a) from t1m where a=99;
1 min(a)
1 NULL
select 1, min(a) from t1m where 1=99;
1 min(a)
1 NULL
select 1, min(1) from t1m where a=99;
1 min(1)
1 NULL
select 1, min(1) from t1m where 1=99;
1 min(1)
1 NULL
select 1, max(a) from t1m where a=99;
1 max(a)
1 NULL
select 1, max(a) from t1m where 1=99;
1 max(a)
1 NULL
select 1, max(1) from t1m where a=99;
1 max(1)
1 NULL
select 1, max(1) from t1m where 1=99;
1 max(1)
1 NULL
select min(a) from t1i;
min(a)
NULL
select min(7) from t1i;
min(7)
NULL
select min(7) from DUAL;
min(7)
NULL
explain select min(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select min(7) from t2i join t1i;
min(7)
NULL
select max(a) from t1i;
max(a)
NULL
select max(7) from t1i;
max(7)
NULL
select max(7) from DUAL;
max(7)
NULL
explain select max(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select max(7) from t2i join t1i;
max(7)
NULL
select 1, min(a) from t1i where a=99;
1 min(a)
1 NULL
select 1, min(a) from t1i where 1=99;
1 min(a)
1 NULL
select 1, min(1) from t1i where a=99;
1 min(1)
1 NULL
select 1, min(1) from t1i where 1=99;
1 min(1)
1 NULL
select 1, max(a) from t1i where a=99;
1 max(a)
1 NULL
select 1, max(a) from t1i where 1=99;
1 max(a)
1 NULL
select 1, max(1) from t1i where a=99;
1 max(1)
1 NULL
select 1, max(1) from t1i where 1=99;
1 max(1)
1 NULL
explain select count(*), min(7), max(7) from t1m, t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t1m, t1i;
count(*) min(7) max(7)
0 NULL NULL
explain select count(*), min(7), max(7) from t1m, t2i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t1m, t2i;
count(*) min(7) max(7)
0 NULL NULL
explain select count(*), min(7), max(7) from t2m, t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2m system NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t2m, t1i;
count(*) min(7) max(7)
0 NULL NULL
drop table t1m, t1i, t2m, t2i;
create table t2 (ff double);
insert into t2 values (2.2);
select cast(sum(distinct ff) as decimal(5,2)) from t2;
...
...
mysql-test/r/func_group_innodb.result
0 → 100644
View file @
d51358b0
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
insert into t1 values (1, 3);
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
1
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
Case When Count(*) < MAX_REQ Then 1 Else 0 End
1
drop table t1;
create table t1m (a int) engine=myisam;
create table t1i (a int) engine=innodb;
create table t2m (a int) engine=myisam;
create table t2i (a int) engine=innodb;
insert into t2m values (5);
insert into t2i values (5);
select min(a) from t1m;
min(a)
NULL
select min(7) from t1m;
min(7)
NULL
select min(7) from DUAL;
min(7)
NULL
explain select min(7) from t2m join t1m;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
select min(7) from t2m join t1m;
min(7)
NULL
select max(a) from t1m;
max(a)
NULL
select max(7) from t1m;
max(7)
NULL
select max(7) from DUAL;
max(7)
NULL
explain select max(7) from t2m join t1m;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
select max(7) from t2m join t1m;
max(7)
NULL
select 1, min(a) from t1m where a=99;
1 min(a)
1 NULL
select 1, min(a) from t1m where 1=99;
1 min(a)
1 NULL
select 1, min(1) from t1m where a=99;
1 min(1)
1 NULL
select 1, min(1) from t1m where 1=99;
1 min(1)
1 NULL
select 1, max(a) from t1m where a=99;
1 max(a)
1 NULL
select 1, max(a) from t1m where 1=99;
1 max(a)
1 NULL
select 1, max(1) from t1m where a=99;
1 max(1)
1 NULL
select 1, max(1) from t1m where 1=99;
1 max(1)
1 NULL
select min(a) from t1i;
min(a)
NULL
select min(7) from t1i;
min(7)
NULL
select min(7) from DUAL;
min(7)
NULL
explain select min(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select min(7) from t2i join t1i;
min(7)
NULL
select max(a) from t1i;
max(a)
NULL
select max(7) from t1i;
max(7)
NULL
select max(7) from DUAL;
max(7)
NULL
explain select max(7) from t2i join t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select max(7) from t2i join t1i;
max(7)
NULL
select 1, min(a) from t1i where a=99;
1 min(a)
1 NULL
select 1, min(a) from t1i where 1=99;
1 min(a)
1 NULL
select 1, min(1) from t1i where a=99;
1 min(1)
1 NULL
select 1, min(1) from t1i where 1=99;
1 min(1)
1 NULL
select 1, max(a) from t1i where a=99;
1 max(a)
1 NULL
select 1, max(a) from t1i where 1=99;
1 max(a)
1 NULL
select 1, max(1) from t1i where a=99;
1 max(1)
1 NULL
select 1, max(1) from t1i where 1=99;
1 max(1)
1 NULL
explain select count(*), min(7), max(7) from t1m, t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t1m, t1i;
count(*) min(7) max(7)
0 NULL NULL
explain select count(*), min(7), max(7) from t1m, t2i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1m system NULL NULL NULL NULL 0 const row not found
1 SIMPLE t2i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t1m, t2i;
count(*) min(7) max(7)
0 NULL NULL
explain select count(*), min(7), max(7) from t2m, t1i;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2m system NULL NULL NULL NULL 1
1 SIMPLE t1i ALL NULL NULL NULL NULL 1
select count(*), min(7), max(7) from t2m, t1i;
count(*) min(7) max(7)
0 NULL NULL
drop table t1m, t1i, t2m, t2i;
mysql-test/r/group_min_max.result
View file @
d51358b0
...
...
@@ -1981,46 +1981,7 @@ a
b
c
d
create table t4 (
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
) engine=innodb;
insert into t4 (a1, a2, b, c, d, dummy) select * from t1;
create index idx12672_0 on t4 (a1);
create index idx12672_1 on t4 (a1,a2,b,c);
create index idx12672_2 on t4 (a1,a2,b);
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Table is already up to date
select distinct a1 from t4 where pk_col not in (1,2,3,4);
a1
a
b
c
d
drop table t1,t2,t3,t4;
create table t1 (
a varchar(30), b varchar(30), primary key(a), key(b)
) engine=innodb;
select distinct a from t1;
a
drop table t1;
create table t1(a int, key(a)) engine=innodb;
insert into t1 values(1);
select a, count(a) from t1 group by a with rollup;
a count(a)
1 1
NULL 1
drop table t1;
create table t1 (f1 int, f2 char(1), primary key(f1,f2)) engine=innodb;
insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
alter table t1 drop primary key, add primary key (f2, f1);
explain select distinct f1 a, f1 b from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index; Using temporary
explain select distinct f1, f2 from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
drop table t1;
drop table t1,t2,t3;
create table t1 (c1 int not null,c2 int not null, primary key(c1,c2));
insert into t1 (c1,c2) values
(10,1),(10,2),(10,3),(20,4),(20,5),(20,6),(30,7),(30,8),(30,9);
...
...
mysql-test/r/group_min_max_innodb.result
0 → 100644
View file @
d51358b0
create table t4 (
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
) engine=innodb;
insert into t4 (a1, a2, b, c, d) values
('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4'),
('a','a','a','a111','xy1'),('a','a','a','b111','xy2'),('a','a','a','c111','xy3'),('a','a','a','d111','xy4'),
('a','a','b','e112','xy1'),('a','a','b','f112','xy2'),('a','a','b','g112','xy3'),('a','a','b','h112','xy4'),
('a','b','a','i121','xy1'),('a','b','a','j121','xy2'),('a','b','a','k121','xy3'),('a','b','a','l121','xy4'),
('a','b','b','m122','xy1'),('a','b','b','n122','xy2'),('a','b','b','o122','xy3'),('a','b','b','p122','xy4'),
('b','a','a','a211','xy1'),('b','a','a','b211','xy2'),('b','a','a','c211','xy3'),('b','a','a','d211','xy4'),
('b','a','b','e212','xy1'),('b','a','b','f212','xy2'),('b','a','b','g212','xy3'),('b','a','b','h212','xy4'),
('b','b','a','i221','xy1'),('b','b','a','j221','xy2'),('b','b','a','k221','xy3'),('b','b','a','l221','xy4'),
('b','b','b','m222','xy1'),('b','b','b','n222','xy2'),('b','b','b','o222','xy3'),('b','b','b','p222','xy4'),
('c','a','a','a311','xy1'),('c','a','a','b311','xy2'),('c','a','a','c311','xy3'),('c','a','a','d311','xy4'),
('c','a','b','e312','xy1'),('c','a','b','f312','xy2'),('c','a','b','g312','xy3'),('c','a','b','h312','xy4'),
('c','b','a','i321','xy1'),('c','b','a','j321','xy2'),('c','b','a','k321','xy3'),('c','b','a','l321','xy4'),
('c','b','b','m322','xy1'),('c','b','b','n322','xy2'),('c','b','b','o322','xy3'),('c','b','b','p322','xy4'),
('d','a','a','a411','xy1'),('d','a','a','b411','xy2'),('d','a','a','c411','xy3'),('d','a','a','d411','xy4'),
('d','a','b','e412','xy1'),('d','a','b','f412','xy2'),('d','a','b','g412','xy3'),('d','a','b','h412','xy4'),
('d','b','a','i421','xy1'),('d','b','a','j421','xy2'),('d','b','a','k421','xy3'),('d','b','a','l421','xy4'),
('d','b','b','m422','xy1'),('d','b','b','n422','xy2'),('d','b','b','o422','xy3'),('d','b','b','p422','xy4');
create index idx12672_0 on t4 (a1);
create index idx12672_1 on t4 (a1,a2,b,c);
create index idx12672_2 on t4 (a1,a2,b);
analyze table t4;
Table Op Msg_type Msg_text
test.t4 analyze status OK
select distinct a1 from t4 where pk_col not in (1,2,3,4);
a1
a
b
c
d
drop table t4;
create table t1 (
a varchar(30), b varchar(30), primary key(a), key(b)
) engine=innodb;
select distinct a from t1;
a
drop table t1;
create table t1(a int, key(a)) engine=innodb;
insert into t1 values(1);
select a, count(a) from t1 group by a with rollup;
a count(a)
1 1
NULL 1
drop table t1;
create table t1 (f1 int, f2 char(1), primary key(f1,f2)) engine=innodb;
insert into t1 values ( 1,"e"),(2,"a"),( 3,"c"),(4,"d");
alter table t1 drop primary key, add primary key (f2, f1);
explain select distinct f1 a, f1 b from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index NULL PRIMARY 5 NULL 4 Using index; Using temporary
explain select distinct f1, f2 from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
drop table t1;
mysql-test/r/join_outer.result
View file @
d51358b0
...
...
@@ -1135,25 +1135,6 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL PRIMARY NULL NULL NULL 4 Using where
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.a 1
DROP TABLE t1,t2;
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
INDEX (name)) ENGINE=InnoDB;
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%' OR FALSE;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
DROP TABLE t1,t2;
DROP VIEW IF EXISTS v1,v2;
DROP TABLE IF EXISTS t1,t2;
CREATE TABLE t1 (a int);
...
...
mysql-test/r/join_outer_innodb.result
0 → 100644
View file @
d51358b0
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
INDEX (name)) ENGINE=InnoDB;
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
EXPLAIN
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
WHERE t1.name LIKE 'A%' OR FALSE;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
DROP TABLE t1,t2;
mysql-test/t/func_group.test
View file @
d51358b0
...
...
@@ -2,8 +2,6 @@
# simple test of all group functions
#
--
source
include
/
have_innodb
.
inc
--
disable_warnings
drop
table
if
exists
t1
,
t2
;
--
enable_warnings
...
...
@@ -380,13 +378,15 @@ explain
select
concat
(
min
(
t1
.
a1
),
min
(
t2
.
a4
))
from
t1
,
t2
where
t2
.
a4
<>
'AME'
;
drop
table
t1
,
t2
;
--
disable_warnings
create
table
t1
(
USR_ID
integer
not
null
,
MAX_REQ
integer
not
null
,
constraint
PK_SEA_USER
primary
key
(
USR_ID
))
engine
=
InnoDB
;
--
enable_warnings
insert
into
t1
values
(
1
,
3
);
select
count
(
*
)
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
from
t1
group
by
MAX_REQ
;
select
Case
When
Count
(
*
)
<
MAX_REQ
Then
1
Else
0
End
from
t1
where
t1
.
USR_ID
=
1
group
by
MAX_REQ
;
drop
table
t1
;
# Moved to func_group_innodb
#--disable_warnings
#create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
#--enable_warnings
#insert into t1 values (1, 3);
#select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
#select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
#drop table t1;
create
table
t1
(
a
char
(
10
));
insert
into
t1
values
(
'a'
),(
'b'
),(
'c'
);
...
...
@@ -541,76 +541,11 @@ INSERT INTO t1 VALUES
SELECT
MAX
(
id
)
FROM
t1
WHERE
id
<
3
AND
a
=
2
AND
b
=
6
;
DROP
TABLE
t1
;
#
# Bug #12882 min/max inconsistent on empty table
#
--
disable_warnings
create
table
t1m
(
a
int
)
engine
=
myisam
;
create
table
t1i
(
a
int
)
engine
=
innodb
;
create
table
t2m
(
a
int
)
engine
=
myisam
;
create
table
t2i
(
a
int
)
engine
=
innodb
;
--
enable_warnings
insert
into
t2m
values
(
5
);
insert
into
t2i
values
(
5
);
# test with MyISAM
select
min
(
a
)
from
t1m
;
select
min
(
7
)
from
t1m
;
select
min
(
7
)
from
DUAL
;
explain
select
min
(
7
)
from
t2m
join
t1m
;
select
min
(
7
)
from
t2m
join
t1m
;
select
max
(
a
)
from
t1m
;
select
max
(
7
)
from
t1m
;
select
max
(
7
)
from
DUAL
;
explain
select
max
(
7
)
from
t2m
join
t1m
;
select
max
(
7
)
from
t2m
join
t1m
;
select
1
,
min
(
a
)
from
t1m
where
a
=
99
;
select
1
,
min
(
a
)
from
t1m
where
1
=
99
;
select
1
,
min
(
1
)
from
t1m
where
a
=
99
;
select
1
,
min
(
1
)
from
t1m
where
1
=
99
;
select
1
,
max
(
a
)
from
t1m
where
a
=
99
;
select
1
,
max
(
a
)
from
t1m
where
1
=
99
;
select
1
,
max
(
1
)
from
t1m
where
a
=
99
;
select
1
,
max
(
1
)
from
t1m
where
1
=
99
;
# test with InnoDB
select
min
(
a
)
from
t1i
;
select
min
(
7
)
from
t1i
;
select
min
(
7
)
from
DUAL
;
explain
select
min
(
7
)
from
t2i
join
t1i
;
select
min
(
7
)
from
t2i
join
t1i
;
select
max
(
a
)
from
t1i
;
select
max
(
7
)
from
t1i
;
select
max
(
7
)
from
DUAL
;
explain
select
max
(
7
)
from
t2i
join
t1i
;
select
max
(
7
)
from
t2i
join
t1i
;
select
1
,
min
(
a
)
from
t1i
where
a
=
99
;
select
1
,
min
(
a
)
from
t1i
where
1
=
99
;
select
1
,
min
(
1
)
from
t1i
where
a
=
99
;
select
1
,
min
(
1
)
from
t1i
where
1
=
99
;
select
1
,
max
(
a
)
from
t1i
where
a
=
99
;
select
1
,
max
(
a
)
from
t1i
where
1
=
99
;
select
1
,
max
(
1
)
from
t1i
where
a
=
99
;
select
1
,
max
(
1
)
from
t1i
where
1
=
99
;
# mixed MyISAM/InnoDB test
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t1i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t1i
;
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t2i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t2i
;
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t2m
,
t1i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t2m
,
t1i
;
drop
table
t1m
,
t1i
,
t2m
,
t2i
;
# Test case moved to func_group_innodb
# End of 4.1 tests
...
...
mysql-test/t/func_group_innodb.test
0 → 100644
View file @
d51358b0
#
# Test of group functions that depend on innodb
#
--
source
include
/
have_innodb
.
inc
--
disable_warnings
create
table
t1
(
USR_ID
integer
not
null
,
MAX_REQ
integer
not
null
,
constraint
PK_SEA_USER
primary
key
(
USR_ID
))
engine
=
InnoDB
;
--
enable_warnings
insert
into
t1
values
(
1
,
3
);
select
count
(
*
)
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
+
MAX_REQ
-
MAX_REQ
from
t1
group
by
MAX_REQ
;
select
Case
When
Count
(
*
)
<
MAX_REQ
Then
1
Else
0
End
from
t1
where
t1
.
USR_ID
=
1
group
by
MAX_REQ
;
drop
table
t1
;
#
# Bug #12882 min/max inconsistent on empty table
#
--
disable_warnings
create
table
t1m
(
a
int
)
engine
=
myisam
;
create
table
t1i
(
a
int
)
engine
=
innodb
;
create
table
t2m
(
a
int
)
engine
=
myisam
;
create
table
t2i
(
a
int
)
engine
=
innodb
;
--
enable_warnings
insert
into
t2m
values
(
5
);
insert
into
t2i
values
(
5
);
# test with MyISAM
select
min
(
a
)
from
t1m
;
select
min
(
7
)
from
t1m
;
select
min
(
7
)
from
DUAL
;
explain
select
min
(
7
)
from
t2m
join
t1m
;
select
min
(
7
)
from
t2m
join
t1m
;
select
max
(
a
)
from
t1m
;
select
max
(
7
)
from
t1m
;
select
max
(
7
)
from
DUAL
;
explain
select
max
(
7
)
from
t2m
join
t1m
;
select
max
(
7
)
from
t2m
join
t1m
;
select
1
,
min
(
a
)
from
t1m
where
a
=
99
;
select
1
,
min
(
a
)
from
t1m
where
1
=
99
;
select
1
,
min
(
1
)
from
t1m
where
a
=
99
;
select
1
,
min
(
1
)
from
t1m
where
1
=
99
;
select
1
,
max
(
a
)
from
t1m
where
a
=
99
;
select
1
,
max
(
a
)
from
t1m
where
1
=
99
;
select
1
,
max
(
1
)
from
t1m
where
a
=
99
;
select
1
,
max
(
1
)
from
t1m
where
1
=
99
;
# test with InnoDB
select
min
(
a
)
from
t1i
;
select
min
(
7
)
from
t1i
;
select
min
(
7
)
from
DUAL
;
explain
select
min
(
7
)
from
t2i
join
t1i
;
select
min
(
7
)
from
t2i
join
t1i
;
select
max
(
a
)
from
t1i
;
select
max
(
7
)
from
t1i
;
select
max
(
7
)
from
DUAL
;
explain
select
max
(
7
)
from
t2i
join
t1i
;
select
max
(
7
)
from
t2i
join
t1i
;
select
1
,
min
(
a
)
from
t1i
where
a
=
99
;
select
1
,
min
(
a
)
from
t1i
where
1
=
99
;
select
1
,
min
(
1
)
from
t1i
where
a
=
99
;
select
1
,
min
(
1
)
from
t1i
where
1
=
99
;
select
1
,
max
(
a
)
from
t1i
where
a
=
99
;
select
1
,
max
(
a
)
from
t1i
where
1
=
99
;
select
1
,
max
(
1
)
from
t1i
where
a
=
99
;
select
1
,
max
(
1
)
from
t1i
where
1
=
99
;
# mixed MyISAM/InnoDB test
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t1i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t1i
;
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t2i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t1m
,
t2i
;
explain
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t2m
,
t1i
;
select
count
(
*
),
min
(
7
),
max
(
7
)
from
t2m
,
t1i
;
drop
table
t1m
,
t1i
,
t2m
,
t2i
;
mysql-test/t/group_min_max.test
View file @
d51358b0
...
...
@@ -3,8 +3,6 @@
# The queries in this file test query execution via QUICK_GROUP_MIN_MAX_SELECT.
#
--
source
include
/
have_innodb
.
inc
#
# TODO:
# Add queries with:
...
...
@@ -664,55 +662,29 @@ select distinct a1 from t1 where a2 = 'b';
#
# Bug #12672: primary key implcitly included in every innodb index
#
# Test case moved to group_min_max_innodb
--
disable_warnings
create
table
t4
(
pk_col
int
auto_increment
primary
key
,
a1
char
(
64
),
a2
char
(
64
),
b
char
(
16
),
c
char
(
16
)
not
null
,
d
char
(
16
),
dummy
char
(
64
)
default
' '
)
engine
=
innodb
;
--
enable_warnings
insert
into
t4
(
a1
,
a2
,
b
,
c
,
d
,
dummy
)
select
*
from
t1
;
create
index
idx12672_0
on
t4
(
a1
);
create
index
idx12672_1
on
t4
(
a1
,
a2
,
b
,
c
);
create
index
idx12672_2
on
t4
(
a1
,
a2
,
b
);
analyze
table
t1
;
select
distinct
a1
from
t4
where
pk_col
not
in
(
1
,
2
,
3
,
4
);
drop
table
t1
,
t2
,
t3
,
t4
;
drop
table
t1
,
t2
,
t3
;
#
# Bug #6142: a problem with the empty innodb table
#
# Test case moved to group_min_max_innodb
--
disable_warnings
create
table
t1
(
a
varchar
(
30
),
b
varchar
(
30
),
primary
key
(
a
),
key
(
b
)
)
engine
=
innodb
;
--
enable_warnings
select
distinct
a
from
t1
;
drop
table
t1
;
#
# Bug #9798: group by with rollup
#
# Test case moved to group_min_max_innodb
--
disable_warnings
create
table
t1
(
a
int
,
key
(
a
))
engine
=
innodb
;
--
enable_warnings
insert
into
t1
values
(
1
);
select
a
,
count
(
a
)
from
t1
group
by
a
with
rollup
;
drop
table
t1
;
#
# Bug #13293 Wrongly used index results in endless loop.
#
create
table
t1
(
f1
int
,
f2
char
(
1
),
primary
key
(
f1
,
f2
))
engine
=
innodb
;
insert
into
t1
values
(
1
,
"e"
),(
2
,
"a"
),(
3
,
"c"
),(
4
,
"d"
);
alter
table
t1
drop
primary
key
,
add
primary
key
(
f2
,
f1
);
explain
select
distinct
f1
a
,
f1
b
from
t1
;
explain
select
distinct
f1
,
f2
from
t1
;
drop
table
t1
;
# Test case moved to group_min_max_innodb
#
# Bug #14920 Ordering aggregated result sets with composite primary keys
...
...
mysql-test/t/group_min_max_innodb.test
0 → 100644
View file @
d51358b0
#
# Test file for WL#1724 (Min/Max Optimization for Queries with Group By Clause).
# The queries in this file test query execution via QUICK_GROUP_MIN_MAX_SELECT
# that depends on InnoDB
#
--
source
include
/
have_innodb
.
inc
#
# Bug #12672: primary key implcitly included in every innodb index
#
--
disable_warnings
create
table
t4
(
pk_col
int
auto_increment
primary
key
,
a1
char
(
64
),
a2
char
(
64
),
b
char
(
16
),
c
char
(
16
)
not
null
,
d
char
(
16
),
dummy
char
(
64
)
default
' '
)
engine
=
innodb
;
--
enable_warnings
insert
into
t4
(
a1
,
a2
,
b
,
c
,
d
)
values
(
'a'
,
'a'
,
'a'
,
'a111'
,
'xy1'
),(
'a'
,
'a'
,
'a'
,
'b111'
,
'xy2'
),(
'a'
,
'a'
,
'a'
,
'c111'
,
'xy3'
),(
'a'
,
'a'
,
'a'
,
'd111'
,
'xy4'
),
(
'a'
,
'a'
,
'b'
,
'e112'
,
'xy1'
),(
'a'
,
'a'
,
'b'
,
'f112'
,
'xy2'
),(
'a'
,
'a'
,
'b'
,
'g112'
,
'xy3'
),(
'a'
,
'a'
,
'b'
,
'h112'
,
'xy4'
),
(
'a'
,
'b'
,
'a'
,
'i121'
,
'xy1'
),(
'a'
,
'b'
,
'a'
,
'j121'
,
'xy2'
),(
'a'
,
'b'
,
'a'
,
'k121'
,
'xy3'
),(
'a'
,
'b'
,
'a'
,
'l121'
,
'xy4'
),
(
'a'
,
'b'
,
'b'
,
'm122'
,
'xy1'
),(
'a'
,
'b'
,
'b'
,
'n122'
,
'xy2'
),(
'a'
,
'b'
,
'b'
,
'o122'
,
'xy3'
),(
'a'
,
'b'
,
'b'
,
'p122'
,
'xy4'
),
(
'b'
,
'a'
,
'a'
,
'a211'
,
'xy1'
),(
'b'
,
'a'
,
'a'
,
'b211'
,
'xy2'
),(
'b'
,
'a'
,
'a'
,
'c211'
,
'xy3'
),(
'b'
,
'a'
,
'a'
,
'd211'
,
'xy4'
),
(
'b'
,
'a'
,
'b'
,
'e212'
,
'xy1'
),(
'b'
,
'a'
,
'b'
,
'f212'
,
'xy2'
),(
'b'
,
'a'
,
'b'
,
'g212'
,
'xy3'
),(
'b'
,
'a'
,
'b'
,
'h212'
,
'xy4'
),
(
'b'
,
'b'
,
'a'
,
'i221'
,
'xy1'
),(
'b'
,
'b'
,
'a'
,
'j221'
,
'xy2'
),(
'b'
,
'b'
,
'a'
,
'k221'
,
'xy3'
),(
'b'
,
'b'
,
'a'
,
'l221'
,
'xy4'
),
(
'b'
,
'b'
,
'b'
,
'm222'
,
'xy1'
),(
'b'
,
'b'
,
'b'
,
'n222'
,
'xy2'
),(
'b'
,
'b'
,
'b'
,
'o222'
,
'xy3'
),(
'b'
,
'b'
,
'b'
,
'p222'
,
'xy4'
),
(
'c'
,
'a'
,
'a'
,
'a311'
,
'xy1'
),(
'c'
,
'a'
,
'a'
,
'b311'
,
'xy2'
),(
'c'
,
'a'
,
'a'
,
'c311'
,
'xy3'
),(
'c'
,
'a'
,
'a'
,
'd311'
,
'xy4'
),
(
'c'
,
'a'
,
'b'
,
'e312'
,
'xy1'
),(
'c'
,
'a'
,
'b'
,
'f312'
,
'xy2'
),(
'c'
,
'a'
,
'b'
,
'g312'
,
'xy3'
),(
'c'
,
'a'
,
'b'
,
'h312'
,
'xy4'
),
(
'c'
,
'b'
,
'a'
,
'i321'
,
'xy1'
),(
'c'
,
'b'
,
'a'
,
'j321'
,
'xy2'
),(
'c'
,
'b'
,
'a'
,
'k321'
,
'xy3'
),(
'c'
,
'b'
,
'a'
,
'l321'
,
'xy4'
),
(
'c'
,
'b'
,
'b'
,
'm322'
,
'xy1'
),(
'c'
,
'b'
,
'b'
,
'n322'
,
'xy2'
),(
'c'
,
'b'
,
'b'
,
'o322'
,
'xy3'
),(
'c'
,
'b'
,
'b'
,
'p322'
,
'xy4'
),
(
'd'
,
'a'
,
'a'
,
'a411'
,
'xy1'
),(
'd'
,
'a'
,
'a'
,
'b411'
,
'xy2'
),(
'd'
,
'a'
,
'a'
,
'c411'
,
'xy3'
),(
'd'
,
'a'
,
'a'
,
'd411'
,
'xy4'
),
(
'd'
,
'a'
,
'b'
,
'e412'
,
'xy1'
),(
'd'
,
'a'
,
'b'
,
'f412'
,
'xy2'
),(
'd'
,
'a'
,
'b'
,
'g412'
,
'xy3'
),(
'd'
,
'a'
,
'b'
,
'h412'
,
'xy4'
),
(
'd'
,
'b'
,
'a'
,
'i421'
,
'xy1'
),(
'd'
,
'b'
,
'a'
,
'j421'
,
'xy2'
),(
'd'
,
'b'
,
'a'
,
'k421'
,
'xy3'
),(
'd'
,
'b'
,
'a'
,
'l421'
,
'xy4'
),
(
'd'
,
'b'
,
'b'
,
'm422'
,
'xy1'
),(
'd'
,
'b'
,
'b'
,
'n422'
,
'xy2'
),(
'd'
,
'b'
,
'b'
,
'o422'
,
'xy3'
),(
'd'
,
'b'
,
'b'
,
'p422'
,
'xy4'
),
(
'a'
,
'a'
,
'a'
,
'a111'
,
'xy1'
),(
'a'
,
'a'
,
'a'
,
'b111'
,
'xy2'
),(
'a'
,
'a'
,
'a'
,
'c111'
,
'xy3'
),(
'a'
,
'a'
,
'a'
,
'd111'
,
'xy4'
),
(
'a'
,
'a'
,
'b'
,
'e112'
,
'xy1'
),(
'a'
,
'a'
,
'b'
,
'f112'
,
'xy2'
),(
'a'
,
'a'
,
'b'
,
'g112'
,
'xy3'
),(
'a'
,
'a'
,
'b'
,
'h112'
,
'xy4'
),
(
'a'
,
'b'
,
'a'
,
'i121'
,
'xy1'
),(
'a'
,
'b'
,
'a'
,
'j121'
,
'xy2'
),(
'a'
,
'b'
,
'a'
,
'k121'
,
'xy3'
),(
'a'
,
'b'
,
'a'
,
'l121'
,
'xy4'
),
(
'a'
,
'b'
,
'b'
,
'm122'
,
'xy1'
),(
'a'
,
'b'
,
'b'
,
'n122'
,
'xy2'
),(
'a'
,
'b'
,
'b'
,
'o122'
,
'xy3'
),(
'a'
,
'b'
,
'b'
,
'p122'
,
'xy4'
),
(
'b'
,
'a'
,
'a'
,
'a211'
,
'xy1'
),(
'b'
,
'a'
,
'a'
,
'b211'
,
'xy2'
),(
'b'
,
'a'
,
'a'
,
'c211'
,
'xy3'
),(
'b'
,
'a'
,
'a'
,
'd211'
,
'xy4'
),
(
'b'
,
'a'
,
'b'
,
'e212'
,
'xy1'
),(
'b'
,
'a'
,
'b'
,
'f212'
,
'xy2'
),(
'b'
,
'a'
,
'b'
,
'g212'
,
'xy3'
),(
'b'
,
'a'
,
'b'
,
'h212'
,
'xy4'
),
(
'b'
,
'b'
,
'a'
,
'i221'
,
'xy1'
),(
'b'
,
'b'
,
'a'
,
'j221'
,
'xy2'
),(
'b'
,
'b'
,
'a'
,
'k221'
,
'xy3'
),(
'b'
,
'b'
,
'a'
,
'l221'
,
'xy4'
),
(
'b'
,
'b'
,
'b'
,
'm222'
,
'xy1'
),(
'b'
,
'b'
,
'b'
,
'n222'
,
'xy2'
),(
'b'
,
'b'
,
'b'
,
'o222'
,
'xy3'
),(
'b'
,
'b'
,
'b'
,
'p222'
,
'xy4'
),
(
'c'
,
'a'
,
'a'
,
'a311'
,
'xy1'
),(
'c'
,
'a'
,
'a'
,
'b311'
,
'xy2'
),(
'c'
,
'a'
,
'a'
,
'c311'
,
'xy3'
),(
'c'
,
'a'
,
'a'
,
'd311'
,
'xy4'
),
(
'c'
,
'a'
,
'b'
,
'e312'
,
'xy1'
),(
'c'
,
'a'
,
'b'
,
'f312'
,
'xy2'
),(
'c'
,
'a'
,
'b'
,
'g312'
,
'xy3'
),(
'c'
,
'a'
,
'b'
,
'h312'
,
'xy4'
),
(
'c'
,
'b'
,
'a'
,
'i321'
,
'xy1'
),(
'c'
,
'b'
,
'a'
,
'j321'
,
'xy2'
),(
'c'
,
'b'
,
'a'
,
'k321'
,
'xy3'
),(
'c'
,
'b'
,
'a'
,
'l321'
,
'xy4'
),
(
'c'
,
'b'
,
'b'
,
'm322'
,
'xy1'
),(
'c'
,
'b'
,
'b'
,
'n322'
,
'xy2'
),(
'c'
,
'b'
,
'b'
,
'o322'
,
'xy3'
),(
'c'
,
'b'
,
'b'
,
'p322'
,
'xy4'
),
(
'd'
,
'a'
,
'a'
,
'a411'
,
'xy1'
),(
'd'
,
'a'
,
'a'
,
'b411'
,
'xy2'
),(
'd'
,
'a'
,
'a'
,
'c411'
,
'xy3'
),(
'd'
,
'a'
,
'a'
,
'd411'
,
'xy4'
),
(
'd'
,
'a'
,
'b'
,
'e412'
,
'xy1'
),(
'd'
,
'a'
,
'b'
,
'f412'
,
'xy2'
),(
'd'
,
'a'
,
'b'
,
'g412'
,
'xy3'
),(
'd'
,
'a'
,
'b'
,
'h412'
,
'xy4'
),
(
'd'
,
'b'
,
'a'
,
'i421'
,
'xy1'
),(
'd'
,
'b'
,
'a'
,
'j421'
,
'xy2'
),(
'd'
,
'b'
,
'a'
,
'k421'
,
'xy3'
),(
'd'
,
'b'
,
'a'
,
'l421'
,
'xy4'
),
(
'd'
,
'b'
,
'b'
,
'm422'
,
'xy1'
),(
'd'
,
'b'
,
'b'
,
'n422'
,
'xy2'
),(
'd'
,
'b'
,
'b'
,
'o422'
,
'xy3'
),(
'd'
,
'b'
,
'b'
,
'p422'
,
'xy4'
);
create
index
idx12672_0
on
t4
(
a1
);
create
index
idx12672_1
on
t4
(
a1
,
a2
,
b
,
c
);
create
index
idx12672_2
on
t4
(
a1
,
a2
,
b
);
analyze
table
t4
;
select
distinct
a1
from
t4
where
pk_col
not
in
(
1
,
2
,
3
,
4
);
drop
table
t4
;
#
# Bug #6142: a problem with the empty innodb table
#
--
disable_warnings
create
table
t1
(
a
varchar
(
30
),
b
varchar
(
30
),
primary
key
(
a
),
key
(
b
)
)
engine
=
innodb
;
--
enable_warnings
select
distinct
a
from
t1
;
drop
table
t1
;
#
# Bug #9798: group by with rollup
#
--
disable_warnings
create
table
t1
(
a
int
,
key
(
a
))
engine
=
innodb
;
--
enable_warnings
insert
into
t1
values
(
1
);
select
a
,
count
(
a
)
from
t1
group
by
a
with
rollup
;
drop
table
t1
;
#
# Bug #13293 Wrongly used index results in endless loop.
#
create
table
t1
(
f1
int
,
f2
char
(
1
),
primary
key
(
f1
,
f2
))
engine
=
innodb
;
insert
into
t1
values
(
1
,
"e"
),(
2
,
"a"
),(
3
,
"c"
),(
4
,
"d"
);
alter
table
t1
drop
primary
key
,
add
primary
key
(
f2
,
f1
);
explain
select
distinct
f1
a
,
f1
b
from
t1
;
explain
select
distinct
f1
,
f2
from
t1
;
drop
table
t1
;
mysql-test/t/join_outer.test
View file @
d51358b0
...
...
@@ -2,8 +2,6 @@
# test of left outer join
#
--
source
include
/
have_innodb
.
inc
--
disable_warnings
drop
table
if
exists
t0
,
t1
,
t2
,
t3
,
t4
,
t5
;
--
enable_warnings
...
...
@@ -763,24 +761,10 @@ DROP TABLE t1,t2;
#
# Test for bug #17164: ORed FALSE blocked conversion of outer join into join
#
CREATE
TABLE
t1
(
id
int
(
11
)
NOT
NULL
PRIMARY
KEY
,
name
varchar
(
20
),
INDEX
(
name
))
ENGINE
=
InnoDB
;
CREATE
TABLE
t2
(
id
int
(
11
)
NOT
NULL
PRIMARY
KEY
,
fkey
int
(
11
),
FOREIGN
KEY
(
fkey
)
REFERENCES
t2
(
id
))
ENGINE
=
InnoDB
;
INSERT
INTO
t1
VALUES
(
1
,
'A1'
),(
2
,
'A2'
),(
3
,
'B'
);
INSERT
INTO
t2
VALUES
(
1
,
1
),(
2
,
2
),(
3
,
2
),(
4
,
3
),(
5
,
3
);
EXPLAIN
SELECT
COUNT
(
*
)
FROM
t2
LEFT
JOIN
t1
ON
t2
.
fkey
=
t1
.
id
WHERE
t1
.
name
LIKE
'A%'
;
#
EXPLAIN
SELECT
COUNT
(
*
)
FROM
t2
LEFT
JOIN
t1
ON
t2
.
fkey
=
t1
.
id
WHERE
t1
.
name
LIKE
'A%'
OR
FALSE
;
# Test case moved to join_outer_innodb
DROP
TABLE
t1
,
t2
;
#
# Bug 19396: LEFT OUTER JOIN over views in curly braces
...
...
mysql-test/t/join_outer_innodb.test
0 → 100644
View file @
d51358b0
#
# test of left outer join for tests that depends on innodb
#
--
source
include
/
have_innodb
.
inc
#
# Test for bug #17164: ORed FALSE blocked conversion of outer join into join
#
CREATE
TABLE
t1
(
id
int
(
11
)
NOT
NULL
PRIMARY
KEY
,
name
varchar
(
20
),
INDEX
(
name
))
ENGINE
=
InnoDB
;
CREATE
TABLE
t2
(
id
int
(
11
)
NOT
NULL
PRIMARY
KEY
,
fkey
int
(
11
),
FOREIGN
KEY
(
fkey
)
REFERENCES
t2
(
id
))
ENGINE
=
InnoDB
;
INSERT
INTO
t1
VALUES
(
1
,
'A1'
),(
2
,
'A2'
),(
3
,
'B'
);
INSERT
INTO
t2
VALUES
(
1
,
1
),(
2
,
2
),(
3
,
2
),(
4
,
3
),(
5
,
3
);
EXPLAIN
SELECT
COUNT
(
*
)
FROM
t2
LEFT
JOIN
t1
ON
t2
.
fkey
=
t1
.
id
WHERE
t1
.
name
LIKE
'A%'
;
EXPLAIN
SELECT
COUNT
(
*
)
FROM
t2
LEFT
JOIN
t1
ON
t2
.
fkey
=
t1
.
id
WHERE
t1
.
name
LIKE
'A%'
OR
FALSE
;
DROP
TABLE
t1
,
t2
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment