[MDEV-3269] LP:900375 - Wrong result with derived_merge=ON, DISTINCT or GROUP BY, EXISTS Created: 2011-12-05 Updated: 2015-02-02 Resolved: 2012-10-04 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical |
| Reporter: | Elena Stepanova | Assignee: | Timour Katchaounov (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
The following query SELECT alias1.* with 10 rows in the table, each of which meets the WHERE condition, with derived_merge=ON returns 9 rows instead of 100. Same happens with GROUP BY instead of DISTINCT. revno: 3324 Reproducible on mariadb 5.2.9 (with default optimizer_switch) and on mysql 5.5.18. EXPLAIN with derived_merge=on: EXPLAIN SELECT alias1.* FROM t1, ( SELECT * FROM t1 ) AS alias1 WHERE EXISTS ( SELECT DISTINCT b FROM t1 WHERE b <= alias1.a ) ; EXPLAIN with derived_merge=off: EXPLAIN SELECT alias1.* FROM t1, ( SELECT * FROM t1 ) AS alias1 WHERE EXISTS ( SELECT DISTINCT b FROM t1 WHERE b <= alias1.a ) ; Minimal optimizer_switch: none (default) Test case: CREATE TABLE t1 ( a INT, b INT, KEY (b) ); INSERT INTO t1 VALUES SELECT alias1.* |
| Comments |
| Comment by Elena Stepanova [ 2011-12-05 ] |
|
Re: Wrong result with derived_merge=ON, DISTINCT or GROUP BY, EXISTS mariadb 5.2.9: EXPLAIN SELECT alias1.* mysql 5.5.18: EXPLAIN SELECT alias1.* |
| Comment by Timour Katchaounov (Inactive) [ 2011-12-12 ] |
|
Re: Wrong result with derived_merge=ON, DISTINCT or GROUP BY, EXISTS |
| Comment by Rasmus Johansson (Inactive) [ 2011-12-12 ] |
|
Launchpad bug id: 900375 |