From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)gmail(dot)com> |
Cc: | Justin Pryzby <pryzby(at)telsasoft(dot)com>, John Naylor <john(dot)naylor(at)enterprisedb(dot)com>, Peter Geoghegan <pg(at)bowt(dot)ie>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Robert Haas <rhaas(at)postgresql(dot)org> |
Subject: | Re: A qsort template |
Date: | 2022-04-02 23:11:51 |
Message-ID: | 20220402231151.635ohpc4q3gppdzb@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
On 2022-04-03 09:45:13 +1200, Thomas Munro wrote:
> On Sun, Apr 3, 2022 at 9:03 AM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > It's certainly not pretty that copytup_cluster() can use SortTuples without
> > actually using SortTuples. Afaics it basically only computes isnull1/datum1 if
> > state->indexInfo->ii_IndexAttrNumbers[0] == 0.
>
> I think we just need to decide up front if we're in a situation that
> can't provide datum1/isnull1 (in this case because it's an expression
> index), and skip the optimised paths. Here's an experimental patch...
> still looking into whether there are more cases like this...
That's a lot of redundant checks. How about putting all the checks for
optimized paths into one if (state->sortKeys && !state->disable_datum1)?
I'm a bit worried that none of the !ubsan tests failed on this...
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2022-04-03 00:02:07 | Re: [PATCH] Improve amcheck to also check UNIQUE constraint in btree index. |
Previous Message | Kenaniah Cerny | 2022-04-02 22:08:23 | Re: Proposal: allow database-specific role memberships |