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 52f0d302-7963-452f-8c5a-f66d261514eb@postgrespro.ru
Whole thread Raw
In response to Re: POC, WIP: OR-clause support for indexes  (Alena Rybakina <a.rybakina@postgrespro.ru>)
Responses Re: POC, WIP: OR-clause support for indexes
List pgsql-hackers
On 21.11.2023 03:50, Alena Rybakina wrote:
> 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?
>
>
Sorry, I lost your changes  during the revision process. I returned 
them. I raised the patch version just in case to run ci successfully.

-- 
Regards,
Alena Rybakina
Postgres Professional

Attachment

pgsql-hackers by date:

Previous
From: David Steele
Date:
Subject: Re: Use of backup_label not noted in log
Next
From: David Steele
Date:
Subject: Re: Add recovery to pg_control and remove backup_label