Bug #45191 | Nested subqueries, wrong result - duplicate rows | ||
---|---|---|---|
Submitted: | 29 May 2009 12:00 | Modified: | 20 Nov 2010 23:29 |
Reporter: | Matthias Leich | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Optimizer | Severity: | S2 (Serious) |
Version: | 6.0 | OS: | Any |
Assigned to: | Evgeny Potemkin | CPU Architecture: | Any |
Tags: | optimizer_switch, semijoin, subquery |
[29 May 2009 12:00]
Matthias Leich
[4 Jun 2009 13:17]
Matthias Leich
test script
Attachment: bug45191.test (application/octet-stream, text), 8.11 KiB.
[4 Jun 2009 13:18]
Matthias Leich
expected results
Attachment: bug45191.result (application/octet-stream, text), 3.42 KiB.
[14 Jul 2009 22:15]
Patrick Crews
NOTE: optimizer_switch, engine_condition_pushdown, and optimizer_use_mrr settings do not affect this bug.
[14 Jul 2009 22:20]
Patrick Crews
In azalea, the queries provided produce *many* duplicate rows in the result sets - 50+ copies of the valid values returned in 5.1. Example: Good result: Alice Bill Cathy Failing result: Alice Alice Alice ... Bill Bill...
[1 Sep 2009 10:23]
Evgeny Potemkin
Disabling semijoin, materialization and firstmatch in optimizer_switch hides the bug, so it's a semi-join bug.
[1 Sep 2009 14:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/82150 2863 Evgeny Potemkin 2009-09-01 Bug#45191: Incorrectly initialized semi-join led to a wrong result. Current implementation of join cache allows combination with the FirstMatch semi-join strategy only when FirstMatch applied only to one table. But because of a typo in the FirstMatch initialization code, all tables in the semi-join except the first one was incorrectly marked as not belonging to the semi-join. This wrongly allowed join cached usage and led to a wrong result. The setup_semijoin_dups_elimination function now correctly marks all tables of a semi-join when the FirstMatch strategy is used. @ mysql-test/r/subselect_sj.result A test case added for the bug#45191. @ mysql-test/r/subselect_sj_jcl6.result A test case added for the bug#45191. @ mysql-test/t/subselect_sj.test A test case added for the bug#45191. @ sql/sql_select.cc Bug#45191: Incorrectly initialized semi-join led to a wrong result. The setup_semijoin_dups_elimination function now correctly marks all tables of a semi-join when the FirstMatch strategy is used.
[25 Sep 2009 7:09]
Valeriy Kravchuk
Bug #46072 was marked as a duplicate of this one.
[9 Nov 2009 13:19]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/89804 3700 Evgeny Potemkin 2009-11-09 [merge] Auto-merged fix for the bug#45191.
[12 Nov 2009 13:32]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/90241 3702 Evgeny Potemkin 2009-11-12 Test cases results corrected after fixing bug#45191.
[12 Nov 2009 14:32]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/90243 3707 Evgeny Potemkin 2009-11-12 Test cases results corrected after fixing bug#45191.
[20 Nov 2009 12:56]
Bugs System
Pushed into 6.0.14-alpha (revid:kostja@sun.com-20091120124947-yi6h2jbgw0kbciwm) (version source revid:epotemkin@mysql.com-20091112143112-zku0ct0gf5pwly54) (merge vers: 6.0.14-alpha) (pib:13)
[23 Nov 2009 20:20]
Paul DuBois
Noted in 6.0.14 changelog. With semijoin optimization enabled, incorrect FirstMatch initialization allowed join cache usage and led to incorrect results.
[12 May 2010 12:36]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/108127 3166 Evgeny Potemkin 2010-05-12 Bug#45191: Incorrectly initialized semi-join led to a wrong result. Current implementation of join cache allows combination with the FirstMatch semi-join strategy only when FirstMatch applied only to one table. But because of a typo in the FirstMatch initialization code, all tables in the semi-join except the first one was incorrectly marked as not belonging to the semi-join. This wrongly allowed join cached usage and led to a wrong result. The setup_semijoin_dups_elimination function now correctly marks all tables of a semi-join when the FirstMatch strategy is used. Origianl revid: epotemkin@mysql.com-20090901144435-7n2doi4s8yn5hz3l @ mysql-test/r/subselect_sj.result A test case added for the bug#45191. @ mysql-test/r/subselect_sj_jcl6.result A test case added for the bug#45191. @ mysql-test/t/subselect_sj.test A test case added for the bug#45191. @ sql/sql_select.cc Bug#45191: Incorrectly initialized semi-join led to a wrong result. The setup_semijoin_dups_elimination function now correctly marks all tables of a semi-join when the FirstMatch strategy is used.
[12 May 2010 15:47]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/108175 3169 Evgeny Potemkin 2010-05-12 Test cases results corrected after fixing bug#45191.
[16 Aug 2010 6:34]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100816062819-bluwgdq8q4xysmlg) (version source revid:alik@sun.com-20100816062612-enatdwnv809iw3s9) (pib:20)
[13 Nov 2010 16:23]
Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (merge vers: 5.6.99-m4) (pib:21)
[20 Nov 2010 23:29]
Paul DuBois
Noted in 5.6.1 changelog.
[23 Nov 2010 2:13]
Paul DuBois
Correction: No 5.6.1 changelog entry. Bug does not appear in any released 5.6.x version.