]> granicus.if.org Git - postgresql/commit
Introduce a new GUC force_parallel_mode for testing purposes.
authorRobert Haas <rhaas@postgresql.org>
Sun, 7 Feb 2016 16:39:22 +0000 (11:39 -0500)
committerRobert Haas <rhaas@postgresql.org>
Sun, 7 Feb 2016 16:41:33 +0000 (11:41 -0500)
commit7c944bd903392829608a9fba5b0e68c4fe89abf8
tree258a592bf8ddb522d3522415ad76b0dfa0f8d250
parenta1c1af2a1f6099c039f145c1edb52257f315be51
Introduce a new GUC force_parallel_mode for testing purposes.

When force_parallel_mode = true, we enable the parallel mode restrictions
for all queries for which this is believed to be safe.  For the subset of
those queries believed to be safe to run entirely within a worker, we spin
up a worker and run the query there instead of running it in the
original process.  When force_parallel_mode = regress, make additional
changes to allow the regression tests to run cleanly even though parallel
workers have been injected under the hood.

Taken together, this facilitates both better user testing and better
regression testing of the parallelism code.

Robert Haas, with help from Amit Kapila and Rushabh Lathia.
13 files changed:
doc/src/sgml/config.sgml
src/backend/access/transam/parallel.c
src/backend/commands/explain.c
src/backend/nodes/copyfuncs.c
src/backend/nodes/outfuncs.c
src/backend/nodes/readfuncs.c
src/backend/optimizer/plan/createplan.c
src/backend/optimizer/plan/planner.c
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample
src/include/nodes/plannodes.h
src/include/nodes/relation.h
src/include/optimizer/planmain.h