HAVING not observed with aggregate +subquery and semijoin=off
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Confirmed
|
Undecided
|
Timour Katchaounov |
Bug Description
Repeatable on maria-5.3. Not repeatable on mysql-5.5. Requires semijoin=off.
Even after the fix for 702345, the following query:
SELECT MIN( t1.f10 ) AS field1
FROM t1 , t2
WHERE t2.f2 IN ( SELECT f3 FROM t3 )
HAVING field1 < 's';
returns NULL even though NULL does not match the HAVING clause.
minimal optimizer_
full optimizer_switch:
index_merge=
explain:
+----+-
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-
| 1 | PRIMARY | t2 | system | NULL | NULL | NULL | NULL | 1 | |
| 1 | PRIMARY | t1 | index | NULL | f10 | 4 | NULL | 2 | Using index |
| 2 | SUBQUERY | t3 | ALL | NULL | NULL | NULL | NULL | 2 | |
+----+-
test case:
SET SESSION optimizer_
CREATE TABLE t1 (f3 int, f10 varchar(1), f11 int, KEY (f10) );
INSERT INTO t1 VALUES (NULL,'
CREATE TABLE t2 (f2 int);
INSERT INTO t2 VALUES (7);
CREATE TABLE t3 (f3 int);
INSERT INTO t3 VALUES (0),(8);
SELECT MIN( t1.f10 ) AS field1
FROM t1 , t2
WHERE t2.f2 IN ( SELECT f3 FROM t3 )
HAVING field1 < 's';
bzr version-info:
revision-id: <email address hidden>
date: 2011-07-06 17:26:01 -0700
build-date: 2011-07-07 16:01:22 +0300
revno: 3088
branch-nick: maria-5.3
Changed in maria: | |
milestone: | none → 5.3 |
assignee: | nobody → Timour Katchaounov (timour) |
Changed in maria: | |
status: | New → Confirmed |
in 5.2 this bug fixed as bug:938518