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

From: Alena Rybakina <a(dot)rybakina(at)postgrespro(dot)ru>
To: Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>, pgsql-hackers(at)postgresql(dot)org
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, Robert Haas <robertmhaas(at)gmail(dot)com>, "Finnerty, Jim" <jfinnert(at)amazon(dot)com>, Marcos Pegoraro <marcos(at)f10(dot)com(dot)br>, teodor(at)sigaev(dot)ru, Ranier Vilela <ranier(dot)vf(at)gmail(dot)com>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Peter Eisentraut <peter(at)eisentraut(dot)org>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Subject: Re: POC, WIP: OR-clause support for indexes
Date: 2023-11-21 11:31:11
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: 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.

Alena Rybakina
Postgres Professional

Attachment Content-Type Size
v10-0001-PATCH-Replace-OR-clause-to-ANY-expressions.-Replace-.patch text/x-patch 34.3 KB
21.11_origin_diff2.diff.txt text/plain 1.1 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message David Steele 2023-11-21 11:42:42 Re: Add recovery to pg_control and remove backup_label
Previous Message David Steele 2023-11-21 11:25:06 Re: Use of backup_label not noted in log