diff options
author | unknown <timour@askmonty.org> | 2011-12-08 12:05:52 +0200 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2011-12-08 12:05:52 +0200 |
commit | 314c377422dd13c86591a4de32162467eb540c33 (patch) | |
tree | 3096f6e07e04a1d334dbe44aa653d6e2fd238efb /sql/opt_range.cc | |
parent | 1f3e540385fd7705047242e58800fcceb5ef3da5 (diff) | |
download | mariadb-git-314c377422dd13c86591a4de32162467eb540c33.tar.gz |
Fixed bug lp:888456
Analysis:
The class member QUICK_GROUP_MIN_MAX_SELECT::seen_first_key
was not reset between subquery re-executions. Thus each
subsequent execution continued from the group that was
reached by the previous subquery execution. As a result
loose scan reached end of file much earlier, and returned
empty result where it shouldn't.
Solution:
Reset seen_first_key before each re-execution of the
loose scan.
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r-- | sql/opt_range.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 3821665fb22..889af68f77a 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -10627,6 +10627,7 @@ int QUICK_GROUP_MIN_MAX_SELECT::reset(void) int result; DBUG_ENTER("QUICK_GROUP_MIN_MAX_SELECT::reset"); + seen_first_key= FALSE; if (!head->key_read) { doing_key_read= 1; |