maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #12398
Re: Fwd: [Commits] 244f5bd: MDEV-23811: With large number of indexes optimizer chooses an inefficient plan
Hello Igor,
On Mon, Oct 05, 2020 at 10:13:17PM -0700, Igor Babaev wrote:
>
> I've accepted all your changes for my original fix.
> This is a new patch for 10.2.
>
...
> diff --git a/sql/opt_range.cc b/sql/opt_range.cc
> index e933d2a..9f1fb9a 100644
> --- a/sql/opt_range.cc
> +++ b/sql/opt_range.cc
> @@ -8899,11 +8902,10 @@ tree_or(RANGE_OPT_PARAM *param,SEL_TREE
> *tree1,SEL_TREE *tree2)
> {
> SEL_ARG *key1= tree1->keys[key_no];
> SEL_ARG *key2= tree2->keys[key_no];
> - if (!must_be_ored)
> - {
> + if (!must_be_ored || no_merges1)
> key1->incr_refs();
> + if (!must_be_ored || no_merges2)
> key2->incr_refs();
> - }
> if ((result->keys[key_no]= key_or(param, key1, key2)))
> result->keys_map.set_bit(key_no);
> }
What is the purpose of this change?
As far as I understand, the bug is fixed without it, too?
BR
Sergei
--
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://s.petrunia.net/blog