Re: A qsort template
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>, John Naylor <john.naylor@enterprisedb.com>, Peter Geoghegan <pg@bowt.ie>, pgsql-hackers <pgsql-hackers@postgresql.org>, Robert Haas <rhaas@postgresql.org>
Date: 2022-04-03T16:32:56Z
Lists: pgsql-hackers
Hi, On 2022-04-03 17:46:28 +1200, Thomas Munro wrote: > On Sun, Apr 3, 2022 at 11:11 AM Andres Freund <andres@anarazel.de> wrote: > > On 2022-04-03 09:45:13 +1200, Thomas Munro wrote: > > > 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... > > I didn't find anything else. > > Maybe it'd be better if we explicitly declared whether datum1 is used > in each tuplesort mode's 'begin' function, right next to the code that > installs the set of routines that are in control of that? Trying that > in this version. Is it clearer what's going on like this? Seems an improvement. > > I'm a bit worried that none of the !ubsan tests failed on this... > > In accordance with whoever-it-was-that-said-that's law about things > that aren't tested, this are turned out to be broken already[1]. Yea :/. Would be good to get this committed soon, so we can see further ubsan violations introduced in the next few days (and so I can unblock my local dev tests :P). Greetings, Andres Freund
Commits
-
Remove debug messages from tuplesort_sort_memtuples()
- 6e647ef0e750 15.0 landed
-
Fix performance regression in tuplesort specializations
- 99c754129d78 15.0 landed
-
Fix tuplesort optimization for CLUSTER-on-expression.
- cc58eecc5d75 15.0 landed
-
Initial pgindent and pgperltidy run for v14.
- def5b065ff22 14.0 cited
-
Specialize checkpointer sort functions.
- 1b88b8908e75 14.0 landed
-
Use sort_template.h for qsort() and qsort_arg().
- f374f4d66425 14.0 landed
-
Use sort_template.h for qsort_tuple() and qsort_ssup().
- 8eda3eba3063 14.0 landed
-
Add sort_template.h for making sort functions.
- 0a1f1d3cac6b 14.0 landed
-
Use abbreviated keys for faster sorting of text datums.
- 4ea51cdfe85c 9.5.0 cited