diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2012-03-26 21:34:24 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2012-03-26 21:34:24 +0400 |
commit | f2947f97a64e6af7e849caef415161b91803e241 (patch) | |
tree | 47e35dda0fccde4ab28bab79ff3306bb4f7d2ce9 /sql/opt_subselect.cc | |
parent | 6fcd19454a090714680743e989f92ac3826da03c (diff) | |
download | mariadb-git-f2947f97a64e6af7e849caef415161b91803e241.tar.gz |
BUG#951283: Wrong result (missing rows) with semijoin+firstmatch, IN/ANY subquery
- The problem was with execution strategy for cases where FirstMatch's inner tables
were interleaved with outer-uncorrelated tables.
- I was unable to find any cases where such join orders would be practically useful,
so fixed it by disabling them.
Diffstat (limited to 'sql/opt_subselect.cc')
-rw-r--r-- | sql/opt_subselect.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/opt_subselect.cc b/sql/opt_subselect.cc index 928846af7fa..59dfb0f5df8 100644 --- a/sql/opt_subselect.cc +++ b/sql/opt_subselect.cc @@ -2902,6 +2902,8 @@ bool Firstmatch_picker::check_qep(JOIN *join, } } } + else + invalidate_firstmatch_prefix(); return FALSE; } |