Re: pgsql: Transform OR clauses to ANY expression

Поиск
Список
Период
Сортировка
От Melanie Plageman
Тема Re: pgsql: Transform OR clauses to ANY expression
Дата
Msg-id CAAKRu_b4SXNW4GAM0bv3e6wcL5ODSXg1ZdRCn6uyLLjSPbveBg@mail.gmail.com
обсуждение исходный текст
Ответ на pgsql: Transform OR clauses to ANY expression  (Alexander Korotkov <akorotkov@postgresql.org>)
Ответы Re: pgsql: Transform OR clauses to ANY expression  (Alexander Korotkov <aekorotkov@gmail.com>)
Список pgsql-committers
On Sun, Apr 7, 2024 at 6:28 PM Alexander Korotkov
<akorotkov@postgresql.org> wrote:
>
> Transform OR clauses to ANY expression
>
> Replace (expr op C1) OR (expr op C2) ... with expr op ANY(ARRAY[C1, C2, ...])
> on the preliminary stage of optimization when we are still working with the
> expression tree.
>
> Here Cn is a n-th constant expression, 'expr' is non-constant expression, 'op'
> is an operator which returns boolean result and has a commuter (for the case
> of reverse order of constant and non-constant parts of the expression,
> like 'Cn op expr').
>
> Sometimes it can lead to not optimal plan.  This is why there is a
> or_to_any_transform_limit GUC.  It specifies a threshold value of length of
> arguments in an OR expression that triggers the OR-to-ANY transformation.
> Generally, more groupable OR arguments mean that transformation will be more
> likely to win than to lose.

I'm getting this warning now

/src/backend/optimizer/prep/prepqual.c:582:33: warning: declaration of
‘lc__state’ shadows a previous local [-Wshadow=compatible-local]
  582 |                         foreach(lc, entry->consts)



В списке pgsql-committers по дате отправления:

Предыдущее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Transform OR clauses to ANY expression
Следующее
От: Alexander Korotkov
Дата:
Сообщение: Re: pgsql: Transform OR clauses to ANY expression