Re: POC, WIP: OR-clause support for indexes - Mailing list pgsql-hackers

From Alena Rybakina
Subject Re: POC, WIP: OR-clause support for indexes
Date
Msg-id 4c1c2c0b-802f-45ae-a7cd-007bfd8957cf@postgrespro.ru
Whole thread Raw
In response to Re: POC, WIP: OR-clause support for indexes  (Andrei Lepikhov <a.lepikhov@postgrespro.ru>)
Responses Re: POC, WIP: OR-clause support for indexes
List 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

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Show WAL write and fsync stats in pg_stat_io
Next
From: Jeff Davis
Date:
Subject: Re: Faster "SET search_path"