diff options
author | Robert Haas <rhaas@postgresql.org> | 2015-10-28 00:27:58 +0100 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2015-10-28 00:27:58 +0100 |
commit | 8538a6307049590ddb5ba127b2ecac6308844d60 (patch) | |
tree | e735e8612e72c383f1fc469e2551cc7473005a9d /src/backend/optimizer/plan/setrefs.c | |
parent | c15898c1d5d53602de097905a90f3dd176e8e7fd (diff) | |
download | postgresql-8538a6307049590ddb5ba127b2ecac6308844d60.tar.gz postgresql-8538a6307049590ddb5ba127b2ecac6308844d60.zip |
Make Gather node projection-capable.
The original Gather code failed to mark a Gather node as not able to
do projection, but it couldn't, even though it did call initialize its
projection info via ExecAssignProjectionInfo. There doesn't seem to
be any good reason for this node not to have projection capability,
so clean things up so that it does. Without this, plans using Gather
nodes might need to carry extra Result nodes to do projection.
Diffstat (limited to 'src/backend/optimizer/plan/setrefs.c')
-rw-r--r-- | src/backend/optimizer/plan/setrefs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index 8c6c57101c0..48d6e6fd783 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -602,12 +602,15 @@ set_plan_refs(PlannerInfo *root, Plan *plan, int rtoffset) set_join_references(root, (Join *) plan, rtoffset); break; + case T_Gather: + set_upper_references(root, plan, rtoffset); + break; + case T_Hash: case T_Material: case T_Sort: case T_Unique: case T_SetOp: - case T_Gather: /* * These plan types don't actually bother to evaluate their |