Re: Bug: When user-defined AM is used, the index path cannot be selected correctly

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Quan Zongliang <quanzongliang(at)yeah(dot)net>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug: When user-defined AM is used, the index path cannot be selected correctly
Date: 2022-09-01 20:33:18
Message-ID: 635919.1662064398@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Quan Zongliang <quanzongliang(at)yeah(dot)net> writes:
> New patch attached.
> It seems that partitions do not use AM other than btree and hash.
> Rewrite only indxpath.c and check if it is a custom AM.

This seems drastically underdocumented, and the test you're using
for extension opclasses is wrong. What we need to know before
applying match_boolean_index_clause is that a clause using
BooleanEqualOperator will be valid for the index. That's got next
door to nothing to do with whether the opclass is default for
the index AM. A non-default opclass might support that operator,
and conversely a default one might not (although I concede it's
not that easy to imagine what other set of operators-on-boolean
an extension opclass might be interested in).

I think we need something more like the attached.

regards, tom lane

Attachment Content-Type Size
recognize-extension-boolean-opclasses-2.patch text/x-diff 3.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeff Davis 2022-09-01 20:34:06 Re: pg_auth_members.grantor is bunk
Previous Message Nathan Bossart 2022-09-01 20:11:50 Re: introduce bufmgr hooks