Re: Custom tuplesorts for extensions

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Pavel Borisov <pashkin.elfe@gmail.com>
Cc: John Naylor <john.naylor@enterprisedb.com>, Matthias van de Meent <boekewurm+postgres@gmail.com>, Maxim Orlov <orlovmg@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-07-24T21:52:49Z
Lists: pgsql-hackers

Attachments

On Sun, Jul 24, 2022 at 3:24 PM Alexander Korotkov <aekorotkov@gmail.com> wrote:
> Also, my OrioleDB colleagues Ilya Kobets and Tatsiana Yaumenenka run
> tests to check if the patchset causes a performance regression.  The
> script and results are present in the "tuplesort_patch_test.zip"
> archive.  The final comparison is given in the result/final_table.txt.
> In short, they repeat each test 10 times and there is no difference
> exceeding the random variation.

I see the last revision passed cfbot without warnings.  I've added the
meta information to commit messages.  Also, I've re-run through the
thread and it seems all the comments are addressed.  I'm going to push
this if there are no objections.

------
Regards,
Alexander Korotkov

Commits

  1. Split tuplesortvariants.c from tuplesort.c

  2. Split TuplesortPublic from Tuplesortstate

  3. Move memory management away from writetup() and tuplesort_put*()

  4. Put abbreviation logic into puttuple_common()

  5. Add new Tuplesortstate.removeabbrev function

  6. Remove Tuplesortstate.copytup function