diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-11 18:30:27 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2020-11-11 18:30:27 +0200 |
commit | 340feb01e407343d4e6258d8965d14c219822b27 (patch) | |
tree | fad240ece44c362be23a5781a41b5c6e0afcc727 /sql/opt_range.cc | |
parent | bafbfb5530e29a83aef7e6e55d5604e08b637681 (diff) | |
parent | dba846ce2a4c57363c4f0256b0e6d2dd1a55ac40 (diff) | |
download | mariadb-git-340feb01e407343d4e6258d8965d14c219822b27.tar.gz |
Merge mariadb-10.3.27 into 10.3
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r-- | sql/opt_range.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 81c16071c8c..0f5f0a67b19 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -8910,15 +8910,9 @@ tree_or(RANGE_OPT_PARAM *param,SEL_TREE *tree1,SEL_TREE *tree2) } bool no_imerge_from_ranges= FALSE; - SEL_TREE *rt1= tree1; - SEL_TREE *rt2= tree2; /* Build the range part of the tree for the formula (1) */ if (sel_trees_can_be_ored(param, tree1, tree2, &ored_keys)) { - if (no_merges1) - rt1= new SEL_TREE(tree1, TRUE, param); - if (no_merges2) - rt2= new SEL_TREE(tree2, TRUE, param); bool must_be_ored= sel_trees_must_be_ored(param, tree1, tree2, ored_keys); no_imerge_from_ranges= must_be_ored; @@ -8976,6 +8970,12 @@ tree_or(RANGE_OPT_PARAM *param,SEL_TREE *tree1,SEL_TREE *tree2) else if (!no_ranges1 && !no_ranges2 && !no_imerge_from_ranges) { /* Build the imerge part of the tree for the formula (1) */ + SEL_TREE *rt1= tree1; + SEL_TREE *rt2= tree2; + if (no_merges1) + rt1= new SEL_TREE(tree1, TRUE, param); + if (no_merges2) + rt2= new SEL_TREE(tree2, TRUE, param); if (!rt1 || !rt2 || result->merges.push_back(imerge_from_ranges) || imerge_from_ranges->or_sel_tree(param, rt1) || @@ -9641,7 +9641,7 @@ key_or(RANGE_OPT_PARAM *param, SEL_ARG *key1,SEL_ARG *key2) if (!tmp->next_key_part) { SEL_ARG *key2_next= key2->next; - if (key2->use_count) + if (key2_shared) { SEL_ARG *key2_cpy= new SEL_ARG(*key2); if (!key2_cpy) |