pgsql: Add shared tuplestores.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Add shared tuplestores.
Date: 2017-12-18 22:44:20
Message-ID: E1eR48y-0002ZV-6z@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Add shared tuplestores.

SharedTuplestore allows multiple participants to write into it and
then read the tuples back from it in parallel. Each reader receives
partial results.

For now it always uses disk files, but other buffering policies and
other kinds of scans (ie each reader receives complete results) may be
useful in future.

The upcoming parallel hash join feature will use this facility.

Author: Thomas Munro
Reviewed-By: Peter Geoghegan, Andres Freund, Robert Haas
Discussion: https://postgr.es/m/CAEepm=2W=cOkiZxcg6qiFQP-dHUe09aqTrEMM7yJDrHMhDv_RA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/ab9e0e718acb9ded7e4c4b5cedc1d410690ea6ba

Modified Files
--------------
src/backend/storage/lmgr/lwlock.c | 2 +
src/backend/utils/sort/Makefile | 2 +-
src/backend/utils/sort/sharedtuplestore.c | 633 ++++++++++++++++++++++++++++++
src/include/storage/lwlock.h | 1 +
src/include/utils/sharedtuplestore.h | 60 +++
src/tools/pgindent/typedefs.list | 2 +
6 files changed, 699 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2017-12-19 15:16:29 pgsql: Add libpq connection parameter "scram_channel_binding"
Previous Message Peter Eisentraut 2017-12-18 22:02:52 pgsql: Move SCRAM-related name definitions to scram-common.h