Provide DSM segment to ExecXXXInitializeWorker functions.
authorAndres Freund <andres@anarazel.de>
Fri, 17 Nov 2017 01:28:11 +0000 (17:28 -0800)
committerAndres Freund <andres@anarazel.de>
Fri, 17 Nov 2017 01:39:18 +0000 (17:39 -0800)
commit7082e614c0dd504cdf49c4d5a692159f22e78f9d
tree21aab7cbd15866af06b423cd90c6b97520b248bc
parent09a777447a858a01ac4d547d678ba295d9542c3b
Provide DSM segment to ExecXXXInitializeWorker functions.

Previously, executor nodes running in parallel worker processes didn't
have access to the dsm_segment object used for parallel execution.  In
order to support resource management based on DSM segment lifetime,
they need that.  So create a ParallelWorkerContext object to hold it
and pass it to all InitializeWorker functions.

Author: Thomas Munro
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm=2W=cOkiZxcg6qiFQP-dHUe09aqTrEMM7yJDrHMhDv_RA@mail.gmail.com
17 files changed:
src/backend/executor/execParallel.c
src/backend/executor/nodeBitmapHeapscan.c
src/backend/executor/nodeCustom.c
src/backend/executor/nodeForeignscan.c
src/backend/executor/nodeIndexonlyscan.c
src/backend/executor/nodeIndexscan.c
src/backend/executor/nodeSeqscan.c
src/backend/executor/nodeSort.c
src/include/access/parallel.h
src/include/executor/nodeBitmapHeapscan.h
src/include/executor/nodeCustom.h
src/include/executor/nodeForeignscan.h
src/include/executor/nodeIndexonlyscan.h
src/include/executor/nodeIndexscan.h
src/include/executor/nodeSeqscan.h
src/include/executor/nodeSort.h
src/tools/pgindent/typedefs.list