Re: A qsort template

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: John Naylor <john(dot)naylor(at)enterprisedb(dot)com>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: A qsort template
Date: 2021-07-30 07:10:49
Message-ID: CAH2-WzmpOqjHDoSnN1REHB+X6SELQeM36JituowfG1SBJAYpVQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jul 30, 2021 at 3:34 AM John Naylor
<john(dot)naylor(at)enterprisedb(dot)com> wrote:
> I'm also attaching your tuplesort patch so others can see what exactly I'm comparing.

If you're going to specialize the sort routine for unsigned integer
style abbreviated keys then you might as well cover all relevant
opclasses/types. Almost all abbreviated key schemes produce
conditioned datums that are designed to use simple 3-way unsigned int
comparator. It's not just text. (Actually, the only abbreviated key
scheme that doesn't do it that way is numeric.)

Offhand I know that UUID, macaddr, and inet all have abbreviated keys
that can use your new ssup_datum_binary_cmp() comparator instead of
their own duplicated comparator (which will make them use the
corresponding specialized sort routine inside tuplesort.c).

--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Richard Guo 2021-07-30 07:14:45 Re: Problem about postponing gathering partial paths for topmost scan/join rel
Previous Message Amit Langote 2021-07-30 07:10:37 Re: Record a Bitmapset of non-pruned partitions