Re: pgsql: Generalize hash and ordering support in amapi

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Generalize hash and ordering support in amapi
Date: 2025-03-07 18:50:46
Message-ID: 1113684.1741373446@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Peter Eisentraut <peter(at)eisentraut(dot)org> writes:
> I have committed fixes for these issues along the lines you suggested.

Thanks. There is a typo in hashhandler:

- amroutine->amcancrosscompare = true;
+ amroutine->amconsistentequality = true;
+ amroutine->amconsistentequality = false;

The second line should be setting amconsistentordering = false.

Also, may I suggest one more thing? I think the test in
comparison_ops_are_compatible should be just

- if (amroutine->amcanorder && amroutine->amconsistentordering)
+ if (amroutine->amconsistentordering)

(and the comment for it needs adjustment too). To my mind,
amconsistentordering is a static declaration that operators
within one of the AM's opfamilies are expected to have this
property. That could be true whether or not the AM is capable
of returning tuples in order. So although these flags might
commonly be set together, I think they are independent
properties.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2025-03-07 21:05:09 Re: pgsql: Make postgres_fdw's query_cancel test less flaky.
Previous Message Tom Lane 2025-03-07 18:24:29 pgsql: Include column name in build_attrmap_by_position's error reports