summaryrefslogtreecommitdiff
path: root/sql/opt_subselect.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2012-03-26 21:34:24 +0400
committerSergey Petrunya <psergey@askmonty.org>2012-03-26 21:34:24 +0400
commitf2947f97a64e6af7e849caef415161b91803e241 (patch)
tree47e35dda0fccde4ab28bab79ff3306bb4f7d2ce9 /sql/opt_subselect.cc
parent6fcd19454a090714680743e989f92ac3826da03c (diff)
downloadmariadb-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.cc2
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;
}