summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorIgor Babaev <igor@askmonty.org>2011-11-18 09:35:51 -0800
committerIgor Babaev <igor@askmonty.org>2011-11-18 09:35:51 -0800
commit6ed9c1364302ea998aa265e67aa7714dc3f365c2 (patch)
tree7a1ab08019a73c74aaf3d23c0652a95cbe9519af /sql
parentfbb22ca4a703af321c3c592fe62a721c416ec357 (diff)
downloadmariadb-git-6ed9c1364302ea998aa265e67aa7714dc3f365c2.tar.gz
Fixed LP bug #891953.
Due to this bug the function SEL_IMERGE::or_sel_tree_with_checks() could build an inconsistent merge tree if one of the SEL_TREEs in the resulting index merge happened to contain a full key range. This could trigger an assertion failure.
Diffstat (limited to 'sql')
-rw-r--r--sql/opt_range.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 229c1e2861b..71bb2157a39 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -1208,13 +1208,13 @@ int SEL_IMERGE::or_sel_tree_with_checks(RANGE_OPT_PARAM *param,
if (result)
{
+ result->keys_map= result_keys;
if (result_keys.is_clear_all())
result->type= SEL_TREE::ALWAYS;
if ((result->type == SEL_TREE::MAYBE) ||
(result->type == SEL_TREE::ALWAYS))
return 1;
/* SEL_TREE::IMPOSSIBLE is impossible here */
- result->keys_map= result_keys;
*or_tree= result;
was_ored= TRUE;
}