[MDEV-3073] LP:912513 - Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on, join_cache_level > 2, JOIN, IN subquery Created: 2012-01-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: | Sergei Petrunia |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Launchpad | ||
| Attachments: |
|
| Description |
|
The following query SELECT alias1.* FROM on the test data returns a single row with join_cache_level>2, and 7 rows with join_cache_level<=2. The latter is the correct result. bzr version-info Reproducible on 5.3.2 and 5.3.3 releases, current 5.3, 5.5. EXPLAIN with join_cache_level=3 (wrong result) id select_type table type possible_keys key key_len ref rows filtered Extra EXPLAIN with join_cache_level=2 (correct result): id select_type table type possible_keys key key_len ref rows filtered Extra Minimal optimizer_switch: semijoin=on,materialization=on,join_cache_hashed=on Test case: SET optimizer_switch = 'semijoin=on,materialization=on,join_cache_hashed=on'; CREATE TABLE t1 ( a INT, b INT, KEY(a) ); CREATE TABLE t2 ( c INT ); SELECT alias1.* FROM Expected result: Result: |
| Comments |
| Comment by Elena Stepanova [ 2012-01-05 ] |
|
Re: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on, join_cache_level > 2, JOIN, IN subquery |
| Comment by Sergei Petrunia [ 2012-01-19 ] |
|
Re: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on, join_cache_level > 2, JOIN, IN subquery SELECT alias1.* FROM t1 AS alias1 INNER JOIN t1 AS alias2 ON alias2.a = alias1.b WHERE alias1.b IN (SELECT a FROM t1, t2); produces a correct result, while the query with WHERE: SELECT alias1.* FROM t1 AS alias1, t1 AS alias2 WHERE alias1.b=alias2.a AND alias1.b IN ( SELECT a FROM t1, t2); produces a wrong result. EXPLAINs are the same. |
| Comment by Sergei Petrunia [ 2012-01-19 ] |
|
Re: Wrong result (missing rows) with join_cache_hashed+materialization+semijoin=on, join_cache_level > 2, JOIN, IN subquery |
| Comment by Rasmus Johansson (Inactive) [ 2012-02-20 ] |
|
Launchpad bug id: 912513 |