Bug #51122 | incremental join buffering + dup weedout semijoin + STRAIGHT_JOIN = wrong result | ||
---|---|---|---|
Submitted: | 11 Feb 2010 21:20 | Modified: | 11 Mar 2010 7:11 |
Reporter: | Guilhem Bichot | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S3 (Non-critical) |
Version: | 6.0-codebase-bugfixing | OS: | Any |
Assigned to: | Assigned Account | CPU Architecture: | Any |
Tags: | join_cache_level, optimizer_switch, semijoin |
[11 Feb 2010 21:20]
Guilhem Bichot
[11 Feb 2010 21:22]
Guilhem Bichot
sorry, remove the "explain" in how-to-repeat. Posting again: CREATE TABLE t1 (i INTEGER); CREATE TABLE t2 (i INTEGER); CREATE TABLE t3 (i INTEGER); insert into t1 values(2),(1); insert into t2 values(2),(1); insert into t3 values(2); SELECT t3.i FROM t2 JOIN t3; SELECT t3.i FROM t2 STRAIGHT_JOIN t3; SELECT * FROM t1 WHERE (t1.i) IN (SELECT t3.i FROM t2 STRAIGHT_JOIN t3); SELECT * FROM t1 WHERE (t1.i) IN (SELECT t3.i FROM t2 STRAIGHT_JOIN t3); insert into t3 values(1); SELECT t3.i FROM t2 JOIN t3; SELECT t3.i FROM t2 STRAIGHT_JOIN t3; SELECT * FROM t1 WHERE (t1.i) IN (SELECT t3.i FROM t2 STRAIGHT_JOIN t3); SELECT * FROM t1 WHERE (t1.i) IN (SELECT t3.i FROM t2 STRAIGHT_JOIN t3); drop table t1,t2,t3;
[12 Feb 2010 6:37]
Sveta Smirnova
Thank you for the report. Verified as described.
[11 Mar 2010 7:11]
Jørgen Løland
Duplicate of BUG#51092