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

From: Alena Rybakina
To: Andrei Lepikhov , pgsql-hackers(at)postgresql(dot)org
Cc: Peter Geoghegan , Robert Haas , "Finnerty, Jim" , Marcos Pegoraro , teodor(at)sigaev(dot)ru, Ranier Vilela , Tomas Vondra , Peter Eisentraut , Alexander Korotkov
Subject: Re: POC, WIP: OR-clause support for indexes
Date: 2023-11-21 00:50:15
Message-ID: [email protected]
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 20.11.2023 11:52, Andrei Lepikhov wrote:
> Looking into the patch, I found some trivial improvements (see
> attachment).
> Also, it is not obvious that using a string representation of the
> clause as a hash table key is needed here. Also, by making a copy of
> the node in the get_key_nconst_node(), you replace the location field,
> but in the case of complex expression, you don't do the same with
> other nodes.
> I propose to generate expression hash instead + prove the equality of
> two expressions by calling equal().
>
I was thinking about your last email and a possible error where the
location field may not be cleared in complex expressions. Unfortunately,
I didn't come up with any examples either, but I think I was able to
handle this with a special function that removes location-related
patterns. The alternative to this is to bypass this expression, but I
think it will be more invasive. In addition, I have added changes
related to the hash table: now the key is of type int.

All changes are displayed in the attached
v9-0001-Replace-OR-clause-to_ANY.diff.txt file.

I haven't measured it yet. But what do you think about these changes?

--
Regards,
Alena Rybakina
Postgres Professional

Attachment Content-Type Size
v9-0001-PATCH-Replace-OR-clause-to-ANY-expressions.patch text/x-patch 34.6 KB
v9-0001-Replace-OR-clause-to_ANY.diff.txt text/plain 7.5 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2023-11-21 01:13:33 Re: Faster "SET search_path"
Previous Message Michael Paquier 2023-11-21 00:26:00 Re: Show WAL write and fsync stats in pg_stat_io