]> granicus.if.org Git - postgresql/commit
Add infrastructure for sharing temporary files between backends.
authorAndres Freund <andres@anarazel.de>
Sat, 2 Dec 2017 00:30:56 +0000 (16:30 -0800)
committerAndres Freund <andres@anarazel.de>
Sat, 2 Dec 2017 00:30:56 +0000 (16:30 -0800)
commitdc6c4c9dc2a111519b76b22daaaac86c5608223b
treeb9ac520d1aa9163ae52755ee2bc1a549df0c6a57
parent35438e5763c3021e579472e4b0c4a4d6038570b4
Add infrastructure for sharing temporary files between backends.

SharedFileSet allows temporary files to be created by one backend and
then exported for read-only access by other backends, with clean-up
managed by reference counting associated with a DSM segment.  This
includes changes to fd.c and buffile.c to support the new kind of
temporary file.

This will be used by an upcoming patch adding support for parallel
hash joins.

Author: Thomas Munro
Reviewed-By: Peter Geoghegan, Andres Freund, Robert Haas, Rushabh Lathia
Discussion:
    https://postgr.es/m/CAEepm=2W=cOkiZxcg6qiFQP-dHUe09aqTrEMM7yJDrHMhDv_RA@mail.gmail.com
    https://postgr.es/m/CAH2-WznJ_UgLux=_jTgCQ4yFz0iBntudsNKa1we3kN1BAG=88w@mail.gmail.com
src/backend/storage/file/Makefile
src/backend/storage/file/buffile.c
src/backend/storage/file/fd.c
src/backend/storage/file/sharedfileset.c [new file with mode: 0644]
src/include/storage/buffile.h
src/include/storage/fd.h
src/include/storage/sharedfileset.h [new file with mode: 0644]
src/tools/pgindent/typedefs.list