Strengthen planner infrastructure for parallelism.
authorRobert Haas <rhaas@postgresql.org>
Sat, 3 Oct 2015 03:57:46 +0000 (23:57 -0400)
committerRobert Haas <rhaas@postgresql.org>
Wed, 28 Oct 2015 13:44:59 +0000 (14:44 +0100)
commitbdda4d5ffa19cbb162c306d610d274cba7454512
tree617483de724136986908ff2264510b719a749b89
parent88f1d098644ff69900e2ca62d2695846385d54e9
Strengthen planner infrastructure for parallelism.

Add a new flag, consider_parallel, to each RelOptInfo, indicating
whether a plan for that relation could conceivably be run inside of
a parallel worker.  Right now, we're pretty conservative: for example,
it might be possible to defer applying a parallel-restricted qual
in a worker, and later do it in the leader, but right now we just
don't try to parallelize access to that relation.  That's probably
the right decision in most cases, anyway.
src/backend/nodes/outfuncs.c
src/backend/optimizer/path/allpaths.c
src/backend/optimizer/plan/planmain.c
src/backend/optimizer/plan/planner.c
src/backend/optimizer/util/clauses.c
src/backend/optimizer/util/relnode.c
src/backend/utils/cache/lsyscache.c
src/include/nodes/relation.h
src/include/optimizer/clauses.h
src/include/utils/lsyscache.h