pgsql: Adjust tuplesort API to have bitwise option flags - Mailing list pgsql-committers

From David Rowley
Subject pgsql: Adjust tuplesort API to have bitwise option flags
Date
Msg-id E1nbJtl-000Gd3-I3@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Adjust tuplesort API to have bitwise option flags

This replaces the bool flag for randomAccess.  An upcoming patch requires
adding another option, so instead of breaking the API for that, then
breaking it again one day if we add more options, let's just break it
once.  Any boolean options we add in the future will just make use of an
unused bit in the flags.

Any extensions making use of tuplesorts will need to update their code
to pass TUPLESORT_RANDOMACCESS instead of true for randomAccess.
TUPLESORT_NONE can be used for a set of empty options.

Author: David Rowley
Reviewed-by: Justin Pryzby
Discussion: https://postgr.es/m/CAApHDvoH4ASzsAOyHcxkuY01Qf%2B%2B8JJ0paw%2B03dk%2BW25tQEcNQ%40mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/77bae396df3f6f883f58f1877b7c08eb3ebb6b63

Modified Files
--------------
src/backend/access/gist/gistbuild.c        |   2 +-
src/backend/access/hash/hashsort.c         |   2 +-
src/backend/access/heap/heapam_handler.c   |   2 +-
src/backend/access/nbtree/nbtsort.c        |   6 +-
src/backend/catalog/index.c                |   2 +-
src/backend/executor/nodeAgg.c             |   6 +-
src/backend/executor/nodeIncrementalSort.c |   4 +-
src/backend/executor/nodeSort.c            |   8 ++-
src/backend/utils/adt/orderedsetaggs.c     |  10 ++-
src/backend/utils/sort/tuplesort.c         | 111 ++++++++++++++++-------------
src/include/utils/tuplesort.h              |  19 +++--
11 files changed, 99 insertions(+), 73 deletions(-)


pgsql-committers by date:

Previous
From: David Rowley
Date:
Subject: pgsql: Improve the generation memory allocator
Next
From: David Rowley
Date:
Subject: pgsql: Use Generation memory contexts to store tuples in sorts