]> granicus.if.org Git - postgresql/commit
Parallel executor support.
authorRobert Haas <rhaas@postgresql.org>
Tue, 29 Sep 2015 01:55:57 +0000 (21:55 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 29 Sep 2015 01:55:57 +0000 (21:55 -0400)
commitd1b7c1ffe72e86932b5395f29e006c3f503bc53d
tree9758eda06ae19401beef3c74373ecb076e9f9238
parent0557dc276f1022965f72dc8bcfc820dfd83a7dc2
Parallel executor support.

This code provides infrastructure for a parallel leader to start up
parallel workers to execute subtrees of the plan tree being executed
in the master.  User-supplied parameters from ParamListInfo are passed
down, but PARAM_EXEC parameters are not.  Various other constructs,
such as initplans, subplans, and CTEs, are also not currently shared.
Nevertheless, there's enough here to support a basic implementation of
parallel query, and we can lift some of the current restrictions as
needed.

Amit Kapila and Robert Haas
17 files changed:
src/backend/executor/Makefile
src/backend/executor/execParallel.c [new file with mode: 0644]
src/backend/executor/instrument.c
src/backend/executor/tqueue.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/params.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/plan/setrefs.c
src/backend/utils/adt/datum.c
src/include/executor/execParallel.h [new file with mode: 0644]
src/include/executor/instrument.h
src/include/nodes/params.h
src/include/nodes/plannodes.h
src/include/nodes/relation.h
src/include/utils/datum.h