mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge
This commit is contained in:
@ -870,7 +870,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition; Using where
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -1180,7 +1180,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using where; Using join buffer (incremental, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BNLH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -1490,7 +1490,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (flat, BKA join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -1797,7 +1797,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (incremental, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BKA join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -2104,7 +2104,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (flat, BKAH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -2411,7 +2411,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (incremental, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BKAH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -2722,7 +2722,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition; Using where
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -2936,7 +2936,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using where; Using join buffer (incremental, BNLH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BNLH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -3150,7 +3150,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (flat, BKA join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -3364,7 +3364,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (incremental, BKA join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BKA join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -3578,7 +3578,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (flat, BKAH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
@ -3792,7 +3792,7 @@ CountryLanguage.Percentage > 50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE CountryLanguage ALL PRIMARY,Percentage NULL NULL NULL 984 Using where
|
||||
1 SIMPLE Country eq_ref PRIMARY PRIMARY 3 world.CountryLanguage.Country 1 Using where; Using join buffer (flat, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.Country.Code 18 Using index condition(BKA); Using where; Using join buffer (incremental, BKAH join)
|
||||
1 SIMPLE City ref Country Country 3 world.CountryLanguage.Country 18 Using where; Using join buffer (incremental, BKAH join)
|
||||
SELECT City.Name, Country.Name, CountryLanguage.Language
|
||||
FROM City,Country,CountryLanguage
|
||||
WHERE City.Country=Country.Code AND
|
||||
|
@ -1733,7 +1733,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.package_id 1
|
||||
1 SIMPLE t4 eq_ref PRIMARY,id PRIMARY 2 test.t1.carrier 1 Using where
|
||||
1 SIMPLE t5 ref carrier_id carrier_id 5 test.t4.id 22 Using index
|
||||
1 SIMPLE t3 ref package_id package_id 5 test.t1.id 1 Using where; Using index
|
||||
1 SIMPLE t3 ref package_id package_id 5 test.t2.package_id 1 Using index
|
||||
SELECT COUNT(*)
|
||||
FROM ((t2 JOIN t1 ON t2.package_id = t1.id)
|
||||
JOIN t3 ON t3.package_id = t1.id)
|
||||
|
@ -1740,7 +1740,7 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.package_id 1 Using join buffer (flat, BKA join)
|
||||
1 SIMPLE t4 eq_ref PRIMARY,id PRIMARY 2 test.t1.carrier 1 Using where
|
||||
1 SIMPLE t5 ref carrier_id carrier_id 5 test.t4.id 22 Using index
|
||||
1 SIMPLE t3 ref package_id package_id 5 test.t1.id 1 Using where; Using index
|
||||
1 SIMPLE t3 ref package_id package_id 5 test.t2.package_id 1 Using index
|
||||
SELECT COUNT(*)
|
||||
FROM ((t2 JOIN t1 ON t2.package_id = t1.id)
|
||||
JOIN t3 ON t3.package_id = t1.id)
|
||||
|
@ -504,7 +504,7 @@ table3.col_varchar_key = table2.col_varchar_nokey AND
|
||||
table3.pk<>0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE table2 ALL col_varchar_key NULL NULL NULL 20 Using where
|
||||
1 SIMPLE table3 ref PRIMARY,col_varchar_key col_varchar_key 3 test.table2.col_varchar_key 3 Using index condition(BKA); Using where; Using join buffer (flat, BKA join)
|
||||
1 SIMPLE table3 ref PRIMARY,col_varchar_key col_varchar_key 3 test.table2.col_varchar_key 3 Using where; Using join buffer (flat, BKA join)
|
||||
set join_cache_level= @save_join_cache_level;
|
||||
set join_buffer_size= @save_join_buffer_size;
|
||||
drop table t1;
|
||||
|
@ -4383,7 +4383,7 @@ EXPLAIN EXTENDED SELECT a, b FROM t1 WHERE a > 1 AND b = a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 3 100.00 Using index condition; Using where; Using MRR
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t1`.`b`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t1`.`a`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#47019: Assertion failed: 0, file .\rt_mbr.c, line 138 when
|
||||
@ -4875,4 +4875,106 @@ f1 f1 f1 f1 f2 f1 f1
|
||||
18 9 NULL NULL NULL 5 7
|
||||
SET SESSION join_buffer_size = DEFAULT;
|
||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||
#
|
||||
# Bug #698882: best equality substitution not applied to ref
|
||||
#
|
||||
CREATE TABLE t1 (a1 int NOT NULL, b1 char(10), INDEX idx (a1));
|
||||
CREATE TABLE t2 (a2 int NOT NULL, b2 char(10), INDEX idx (a2));
|
||||
CREATE TABLE t3 (a3 int NOT NULL, b3 char(10), INDEX idx (a3));
|
||||
INSERT INTO t1 VALUES (2,'xx'), (1,'xxx'), (11,'xxxxxxx');
|
||||
INSERT INTO t2 VALUES
|
||||
(7,'yyyy'), (2,'y'), (3,'yyy'), (1,'yy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'y'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy'),
|
||||
(7,'yyyy'), (2,'yy'), (3,'yyy'), (1,'yyyyyyyy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'yyy'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy');
|
||||
INSERT INTO t3 VALUES
|
||||
(9,'zzzzzzz'), (2,'zzzzz'), (1,'z'), (9,'zz'), (1,'zz'), (5,'zzzzzzz'),
|
||||
(4,'zz'), (3,'z'), (5,'zzzzzz'), (3,'zz'), (4,'zzzz'), (3,'z'),
|
||||
(9,'zzzzzzzz'), (2,'zz'), (1,'zz'), (9,'zzz'), (1,'zzz'), (5,'zzzzzzzz'),
|
||||
(4,'zzz'), (3,'zz'), (5,'zzzzzzz'), (3,'zzz'), (4,'zzzzz'), (3,'zz'),
|
||||
(9,'zzzzzz'), (2,'zzzz'), (1,'zzz'), (9,'z'), (1,'z'), (5,'zzzzzz'),
|
||||
(4,'z'), (3,'zzz'), (5,'zzzzz'), (3,'z'), (4,'zzz'), (3,'zzzz'),
|
||||
(9,'zzzzz'), (2,'zzz'), (1,'zzzz'), (9,'zzz'), (1,'zzzz'), (5,'zzzzz'),
|
||||
(4,'zzz'), (3,'zzzz'), (5,'zzzz'), (3,'zzz'), (4,'zz'), (3,'zzzzz');
|
||||
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||
EXPLAIN SELECT * from t1,t2,t3 WHERE t3.a3=t1.a1 AND t2.a2=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t2.a2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
SELECT * from t1,t2,t3
|
||||
WHERE t3.a3=t1.a1 AND t2.a2=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t2.a2 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SET SESSION optimizer_switch=DEFAULT;
|
||||
DROP TABLE t1,t2,t3;
|
||||
End of 5.1 tests
|
||||
|
@ -4390,7 +4390,7 @@ EXPLAIN EXTENDED SELECT a, b FROM t1 WHERE a > 1 AND b = a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 3 100.00 Using index condition; Using where; Using MRR
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t1`.`b`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t1`.`a`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#47019: Assertion failed: 0, file .\rt_mbr.c, line 138 when
|
||||
@ -4882,6 +4882,108 @@ f1 f1 f1 f1 f2 f1 f1
|
||||
18 9 NULL NULL NULL 5 7
|
||||
SET SESSION join_buffer_size = DEFAULT;
|
||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||
#
|
||||
# Bug #698882: best equality substitution not applied to ref
|
||||
#
|
||||
CREATE TABLE t1 (a1 int NOT NULL, b1 char(10), INDEX idx (a1));
|
||||
CREATE TABLE t2 (a2 int NOT NULL, b2 char(10), INDEX idx (a2));
|
||||
CREATE TABLE t3 (a3 int NOT NULL, b3 char(10), INDEX idx (a3));
|
||||
INSERT INTO t1 VALUES (2,'xx'), (1,'xxx'), (11,'xxxxxxx');
|
||||
INSERT INTO t2 VALUES
|
||||
(7,'yyyy'), (2,'y'), (3,'yyy'), (1,'yy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'y'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy'),
|
||||
(7,'yyyy'), (2,'yy'), (3,'yyy'), (1,'yyyyyyyy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'yyy'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy');
|
||||
INSERT INTO t3 VALUES
|
||||
(9,'zzzzzzz'), (2,'zzzzz'), (1,'z'), (9,'zz'), (1,'zz'), (5,'zzzzzzz'),
|
||||
(4,'zz'), (3,'z'), (5,'zzzzzz'), (3,'zz'), (4,'zzzz'), (3,'z'),
|
||||
(9,'zzzzzzzz'), (2,'zz'), (1,'zz'), (9,'zzz'), (1,'zzz'), (5,'zzzzzzzz'),
|
||||
(4,'zzz'), (3,'zz'), (5,'zzzzzzz'), (3,'zzz'), (4,'zzzzz'), (3,'zz'),
|
||||
(9,'zzzzzz'), (2,'zzzz'), (1,'zzz'), (9,'z'), (1,'z'), (5,'zzzzzz'),
|
||||
(4,'z'), (3,'zzz'), (5,'zzzzz'), (3,'z'), (4,'zzz'), (3,'zzzz'),
|
||||
(9,'zzzzz'), (2,'zzz'), (1,'zzzz'), (9,'zzz'), (1,'zzzz'), (5,'zzzzz'),
|
||||
(4,'zzz'), (3,'zzzz'), (5,'zzzz'), (3,'zzz'), (4,'zz'), (3,'zzzzz');
|
||||
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||
EXPLAIN SELECT * from t1,t2,t3 WHERE t3.a3=t1.a1 AND t2.a2=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2 Using join buffer (flat, BKA join)
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5 Using join buffer (incremental, BKA join)
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2 Using join buffer (flat, BKA join)
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5 Using join buffer (incremental, BKA join)
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t2.a2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2 Using join buffer (flat, BKA join)
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5 Using join buffer (incremental, BKA join)
|
||||
SELECT * from t1,t2,t3
|
||||
WHERE t3.a3=t1.a1 AND t2.a2=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zzz
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zzz
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t2.a2 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yy 1 z
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zzz
|
||||
SET SESSION optimizer_switch=DEFAULT;
|
||||
DROP TABLE t1,t2,t3;
|
||||
End of 5.1 tests
|
||||
set join_cache_level=default;
|
||||
show variables like 'join_cache_level';
|
||||
|
@ -4383,7 +4383,7 @@ EXPLAIN EXTENDED SELECT a, b FROM t1 WHERE a > 1 AND b = a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 3 100.00 Using index condition; Using where; Using MRR
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t1`.`b`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where ((`test`.`t1`.`b` = `test`.`t1`.`a`) and (`test`.`t1`.`a` > 1)) limit 2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#47019: Assertion failed: 0, file .\rt_mbr.c, line 138 when
|
||||
@ -4875,4 +4875,106 @@ f1 f1 f1 f1 f2 f1 f1
|
||||
18 9 NULL NULL NULL 5 7
|
||||
SET SESSION join_buffer_size = DEFAULT;
|
||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||
#
|
||||
# Bug #698882: best equality substitution not applied to ref
|
||||
#
|
||||
CREATE TABLE t1 (a1 int NOT NULL, b1 char(10), INDEX idx (a1));
|
||||
CREATE TABLE t2 (a2 int NOT NULL, b2 char(10), INDEX idx (a2));
|
||||
CREATE TABLE t3 (a3 int NOT NULL, b3 char(10), INDEX idx (a3));
|
||||
INSERT INTO t1 VALUES (2,'xx'), (1,'xxx'), (11,'xxxxxxx');
|
||||
INSERT INTO t2 VALUES
|
||||
(7,'yyyy'), (2,'y'), (3,'yyy'), (1,'yy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'y'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy'),
|
||||
(7,'yyyy'), (2,'yy'), (3,'yyy'), (1,'yyyyyyyy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'yyy'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy');
|
||||
INSERT INTO t3 VALUES
|
||||
(9,'zzzzzzz'), (2,'zzzzz'), (1,'z'), (9,'zz'), (1,'zz'), (5,'zzzzzzz'),
|
||||
(4,'zz'), (3,'z'), (5,'zzzzzz'), (3,'zz'), (4,'zzzz'), (3,'z'),
|
||||
(9,'zzzzzzzz'), (2,'zz'), (1,'zz'), (9,'zzz'), (1,'zzz'), (5,'zzzzzzzz'),
|
||||
(4,'zzz'), (3,'zz'), (5,'zzzzzzz'), (3,'zzz'), (4,'zzzzz'), (3,'zz'),
|
||||
(9,'zzzzzz'), (2,'zzzz'), (1,'zzz'), (9,'z'), (1,'z'), (5,'zzzzzz'),
|
||||
(4,'z'), (3,'zzz'), (5,'zzzzz'), (3,'z'), (4,'zzz'), (3,'zzzz'),
|
||||
(9,'zzzzz'), (2,'zzz'), (1,'zzzz'), (9,'zzz'), (1,'zzzz'), (5,'zzzzz'),
|
||||
(4,'zzz'), (3,'zzzz'), (5,'zzzz'), (3,'zzz'), (4,'zz'), (3,'zzzzz');
|
||||
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||
EXPLAIN SELECT * from t1,t2,t3 WHERE t3.a3=t1.a1 AND t2.a2=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t1.a1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t2.a2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL idx NULL NULL NULL 3
|
||||
1 SIMPLE t2 ref idx idx 4 test.t1.a1 2
|
||||
1 SIMPLE t3 ref idx idx 4 test.t1.a1 5
|
||||
SELECT * from t1,t2,t3
|
||||
WHERE t3.a3=t1.a1 AND t2.a2=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t2.a2 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
a1 b1 a2 b2 a3 b3
|
||||
2 xx 2 y 2 zz
|
||||
2 xx 2 y 2 zzzz
|
||||
2 xx 2 y 2 zzz
|
||||
2 xx 2 yy 2 zz
|
||||
2 xx 2 yy 2 zzz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 zz
|
||||
1 xxx 1 yy 1 z
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 zzz
|
||||
1 xxx 1 y 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
1 xxx 1 yyy 1 z
|
||||
SET SESSION optimizer_switch=DEFAULT;
|
||||
DROP TABLE t1,t2,t3;
|
||||
End of 5.1 tests
|
||||
|
@ -983,7 +983,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY subselect2 eq_ref unique_key unique_key 8 func 1 1.00
|
||||
2 SUBQUERY t1 ALL varchar_key NULL NULL NULL 15 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t2`.`varchar_nokey` AS `varchar_nokey` from `test`.`t2` semi join (`test`.`t1`) where ((`test`.`t1`.`varchar_nokey` = `test`.`t1`.`varchar_key`) and ((`test`.`t1`.`varchar_nokey` < 'n') xor `test`.`t1`.`pk`))
|
||||
Note 1003 select `test`.`t2`.`varchar_nokey` AS `varchar_nokey` from `test`.`t2` semi join (`test`.`t1`) where ((`test`.`t1`.`varchar_nokey` = `test`.`t1`.`varchar_key`) and ((`test`.`t1`.`varchar_key` < 'n') xor `test`.`t1`.`pk`))
|
||||
SELECT varchar_nokey
|
||||
FROM t2
|
||||
WHERE ( `varchar_nokey` , `varchar_nokey` ) IN (
|
||||
|
@ -313,7 +313,7 @@ t2.Population > 100000);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 range Population,Country Population 4 NULL 1 Using index condition; Using MRR
|
||||
1 PRIMARY t3 eq_ref PRIMARY,Percentage PRIMARY 33 test.t1.Country,const 1 Using index condition; Using where
|
||||
1 PRIMARY t2 eq_ref PRIMARY,Population PRIMARY 3 test.t3.Country 1 Using index condition; Using where
|
||||
1 PRIMARY t2 eq_ref PRIMARY,Population PRIMARY 3 test.t1.Country 1 Using where
|
||||
DROP TABLE t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
Code char(3) NOT NULL DEFAULT '',
|
||||
|
@ -320,7 +320,7 @@ t2.Population > 100000);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 range Population,Country Population 4 NULL 1 Using index condition; Using MRR
|
||||
1 PRIMARY t3 eq_ref PRIMARY,Percentage PRIMARY 33 test.t1.Country,const 1 Using index condition; Using where; Using join buffer (flat, BKA join)
|
||||
1 PRIMARY t2 eq_ref PRIMARY,Population PRIMARY 3 test.t3.Country 1 Using index condition(BKA); Using where; Using join buffer (incremental, BKA join)
|
||||
1 PRIMARY t2 eq_ref PRIMARY,Population PRIMARY 3 test.t1.Country 1 Using where; Using join buffer (incremental, BKA join)
|
||||
DROP TABLE t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
Code char(3) NOT NULL DEFAULT '',
|
||||
|
@ -990,7 +990,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY subselect2 eq_ref unique_key unique_key 8 func 1 1.00
|
||||
2 SUBQUERY t1 ALL varchar_key NULL NULL NULL 15 100.00 Using where
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t2`.`varchar_nokey` AS `varchar_nokey` from `test`.`t2` semi join (`test`.`t1`) where ((`test`.`t1`.`varchar_nokey` = `test`.`t1`.`varchar_key`) and ((`test`.`t1`.`varchar_nokey` < 'n') xor `test`.`t1`.`pk`))
|
||||
Note 1003 select `test`.`t2`.`varchar_nokey` AS `varchar_nokey` from `test`.`t2` semi join (`test`.`t1`) where ((`test`.`t1`.`varchar_nokey` = `test`.`t1`.`varchar_key`) and ((`test`.`t1`.`varchar_key` < 'n') xor `test`.`t1`.`pk`))
|
||||
SELECT varchar_nokey
|
||||
FROM t2
|
||||
WHERE ( `varchar_nokey` , `varchar_nokey` ) IN (
|
||||
|
@ -4121,4 +4121,47 @@ SET SESSION join_buffer_size = DEFAULT;
|
||||
|
||||
DROP TABLE t1,t2,t3,t4,t5,t6;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #698882: best equality substitution not applied to ref
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a1 int NOT NULL, b1 char(10), INDEX idx (a1));
|
||||
CREATE TABLE t2 (a2 int NOT NULL, b2 char(10), INDEX idx (a2));
|
||||
CREATE TABLE t3 (a3 int NOT NULL, b3 char(10), INDEX idx (a3));
|
||||
INSERT INTO t1 VALUES (2,'xx'), (1,'xxx'), (11,'xxxxxxx');
|
||||
INSERT INTO t2 VALUES
|
||||
(7,'yyyy'), (2,'y'), (3,'yyy'), (1,'yy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'y'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy'),
|
||||
(7,'yyyy'), (2,'yy'), (3,'yyy'), (1,'yyyyyyyy'), (1,'yyyyy'),
|
||||
(3,'yy'), (1,'yyy'), (4,'yyy'), (7,'y'), (4,'yyyyy'), (7,'yyy');
|
||||
INSERT INTO t3 VALUES
|
||||
(9,'zzzzzzz'), (2,'zzzzz'), (1,'z'), (9,'zz'), (1,'zz'), (5,'zzzzzzz'),
|
||||
(4,'zz'), (3,'z'), (5,'zzzzzz'), (3,'zz'), (4,'zzzz'), (3,'z'),
|
||||
(9,'zzzzzzzz'), (2,'zz'), (1,'zz'), (9,'zzz'), (1,'zzz'), (5,'zzzzzzzz'),
|
||||
(4,'zzz'), (3,'zz'), (5,'zzzzzzz'), (3,'zzz'), (4,'zzzzz'), (3,'zz'),
|
||||
(9,'zzzzzz'), (2,'zzzz'), (1,'zzz'), (9,'z'), (1,'z'), (5,'zzzzzz'),
|
||||
(4,'z'), (3,'zzz'), (5,'zzzzz'), (3,'z'), (4,'zzz'), (3,'zzzz'),
|
||||
(9,'zzzzz'), (2,'zzz'), (1,'zzzz'), (9,'zzz'), (1,'zzzz'), (5,'zzzzz'),
|
||||
(4,'zzz'), (3,'zzzz'), (5,'zzzz'), (3,'zzz'), (4,'zz'), (3,'zzzzz');
|
||||
|
||||
SET SESSION optimizer_switch='index_condition_pushdown=off';
|
||||
|
||||
EXPLAIN SELECT * from t1,t2,t3 WHERE t3.a3=t1.a1 AND t2.a2=t1.a1;
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t1.a1;
|
||||
EXPLAIN SELECT * FROM t1,t2,t3 WHERE t2.a2=t1.a1 AND t3.a3=t2.a2;
|
||||
|
||||
SELECT * from t1,t2,t3
|
||||
WHERE t3.a3=t1.a1 AND t2.a2=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t1.a1 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
SELECT * FROM t1,t2,t3
|
||||
WHERE t2.a2=t1.a1 AND t3.a3=t2.a2 AND
|
||||
LENGTH(CONCAT(CONCAT(t1.b1,t2.b2),t3.b3)) <= 7;
|
||||
|
||||
SET SESSION optimizer_switch=DEFAULT;
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
Reference in New Issue
Block a user