← Back to team overview

maria-developers team mailing list archive

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