]> granicus.if.org Git - postgresql/commit
Allow parallel workers to execute subplans.
authorRobert Haas <rhaas@postgresql.org>
Tue, 14 Feb 2017 23:09:47 +0000 (18:09 -0500)
committerRobert Haas <rhaas@postgresql.org>
Tue, 14 Feb 2017 23:16:03 +0000 (18:16 -0500)
commit5e6d8d2bbbcace304450b309e79366c0da4063e4
treed5068ced430d295491c0b34c39415e8f49fad6da
parent8da9a226369e9ceec7cef1ab7a16cdc0adb4d657
Allow parallel workers to execute subplans.

This doesn't do anything to make Param nodes anything other than
parallel-restricted, so this only helps with uncorrelated subplans,
and it's not necessarily very cheap because each worker will run the
subplan separately (just as a Hash Join will build a separate copy of
the hash table in each participating process), but it's a first step
toward supporting cases that are more likely to help in practice, and
is occasionally useful on its own.

Amit Kapila, reviewed and tested by Rafia Sabih, Dilip Kumar, and
me.

Discussion: http://postgr.es/m/CAA4eK1+e8Z45D2n+rnDMDYsVEb5iW7jqaCH_tvPMYau=1Rru9w@mail.gmail.com
src/backend/executor/execParallel.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/equalfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/subselect.c
src/backend/optimizer/util/clauses.c
src/include/nodes/primnodes.h
src/test/regress/expected/select_parallel.out
src/test/regress/sql/select_parallel.sql