Re: POC, WIP: OR-clause support for indexes

From: Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>
To: Andrei Lepikhov <lepihov(at)gmail(dot)com>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: jian he <jian(dot)universality(at)gmail(dot)com>, Nikolay Shaplov <dhyan(at)nataraj(dot)su>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Peter Geoghegan <pg(at)bowt(dot)ie>, Marcos Pegoraro <marcos(at)f10(dot)com(dot)br>, teodor(at)sigaev(dot)ru, Peter Eisentraut <peter(at)eisentraut(dot)org>, Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>
Subject: Re: POC, WIP: OR-clause support for indexes
Date: 2024-09-16 02:53:47
Message-ID: 3d418931-51c0-47bb-9f78-cd4270a29c5c@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

On 09.09.2024 13:36, Alexander Korotkov wrote:
> On Wed, Sep 4, 2024 at 6:42 PM Alena Rybakina<a(dot)rybakina(at)postgrespro(dot)ru> wrote:
>> On 04.09.2024 18:31, Alena Rybakina wrote:
>>> I rewrote the tests with integer types. Thanks for your suggestion. If
>>> you don't mind, I've updated the diff file you attached earlier to
>>> include the tests.
>> Sorry, I've just noticed that one of your changes with the regression
>> test wasn't included. I fixed it here.
> Please, find the revised patchset attached. I've integrated the fixes
> by you and Andrei in the thread.
Thank you for your work! It is fine now.
> Also, I've addressed the note from
> Andrei [1] about construction of RestrictInfos.
> I decided to use make_simple_restrictinfo() in
> match_orclause_to_indexcol(), because I've seen its usage in
> get_index_clause_from_support().
I agree with that. I noticed this function is used for formation quals
from modified clauses. We have the same case in our patch.
> Also, I agree it get it's wrong to directly copy RestrictInfo struct
> in group_similar_or_args(). Instead, I've renamed
> make_restrictinfo_internal() to make_plain_restrictinfo(), which is
> intended to handle non-recursive cases when you've children already
> wrapped with RestrictInfos.
I am willing to agree with renaming function because it processes the
plain expression without recursive functionality sub expression.
> make_plain_restrictinfo() now used in
> group_similar_or_args().
>
> Hopefully, this item is resolved by now.
>
> Links.
> 1.https://www.postgresql.org/message-id/60760203-4917-4c6c-ac74-a5ee764735a4%40gmail.com
>
I think the case didn't resolve. As I understood the problem is related
to uncleared cached estimations to default values, namely eval_cost,
norm_selec, outer_selec variables in RestrictInfo.

I assume we should reset it only for RestrictInfo including
ScalarArrayOpExpr object that we got before after transformation.

--
Regards,
Alena Rybakina
Postgres Professional

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2024-09-16 03:25:10 Re: Introduce XID age and inactive timeout based replication slot invalidation
Previous Message jian he 2024-09-16 02:29:47 Re: ANALYZE ONLY