This commit is contained in:
Sergey Petrunya 2012-01-25 18:36:57 +04:00
commit 364c07934c
13 changed files with 262 additions and 5 deletions

View file

@ -2489,6 +2489,40 @@ WHERE c = b AND b = a
a COUNT(*)
NULL 0
DROP TABLE t1, t2, t3;
#
# BUG#920255: Wrong result (extra rows) with loosescan and IN subquery
#
CREATE TABLE t1 ( a INT PRIMARY KEY, b INT, KEY(b) );
INSERT INTO t1 VALUES
(1,2),(2,1),(3,3),(4,2),(5,5),
(6,3),(7,1),(8,4),(9,3),(10,2);
CREATE TABLE t2 ( c INT, d INT, UNIQUE KEY(c) );
INSERT INTO t2 VALUES
(1,2),(2,1),(3,3),(4,2),(5,5),(6,3),(7,1);
SELECT a, b, d FROM t1, t2
WHERE ( b, d ) IN
( SELECT b, d FROM t1, t2 WHERE b = c );
a b d
1 2 1
1 2 1
2 1 2
2 1 2
3 3 3
3 3 3
4 2 1
4 2 1
5 5 5
6 3 3
6 3 3
7 1 2
7 1 2
8 4 2
8 4 2
9 3 3
9 3 3
10 2 1
10 2 1
DROP TABLE t1, t2;
set optimizer_switch=@subselect_sj_tmp;
#
# BUG#49129: Wrong result with IN-subquery with join_cache_level=6 and firstmatch=off