]> granicus.if.org Git - postgresql/commit
Add shared tuplestores.
authorAndres Freund <andres@anarazel.de>
Mon, 18 Dec 2017 22:23:19 +0000 (14:23 -0800)
committerAndres Freund <andres@anarazel.de>
Mon, 18 Dec 2017 22:23:19 +0000 (14:23 -0800)
commitab9e0e718acb9ded7e4c4b5cedc1d410690ea6ba
tree013cb76a0f933783b5e8f635382aa763a89fdf7d
parent25d532698d74f4adb34f013f1a287a0029e31fb1
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
src/backend/storage/lmgr/lwlock.c
src/backend/utils/sort/Makefile
src/backend/utils/sort/sharedtuplestore.c [new file with mode: 0644]
src/include/storage/lwlock.h
src/include/utils/sharedtuplestore.h [new file with mode: 0644]
src/tools/pgindent/typedefs.list