aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeProjectSet.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeProjectSet.c')
-rw-r--r--src/backend/executor/nodeProjectSet.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/backend/executor/nodeProjectSet.c b/src/backend/executor/nodeProjectSet.c
index 3b79993ade8..6d6ed38ceeb 100644
--- a/src/backend/executor/nodeProjectSet.c
+++ b/src/backend/executor/nodeProjectSet.c
@@ -244,14 +244,6 @@ ExecInitProjectSet(ProjectSet *node, EState *estate, int eflags)
ExecAssignExprContext(estate, &state->ps);
/*
- * tuple table initialization
- */
- ExecInitResultTupleSlot(estate, &state->ps);
-
- /* We don't support any qual on ProjectSet nodes */
- Assert(node->plan.qual == NIL);
-
- /*
* initialize child nodes
*/
outerPlanState(state) = ExecInitNode(outerPlan(node), estate, eflags);
@@ -262,9 +254,9 @@ ExecInitProjectSet(ProjectSet *node, EState *estate, int eflags)
Assert(innerPlan(node) == NULL);
/*
- * initialize tuple type and projection info
+ * tuple table and result type initialization
*/
- ExecAssignResultTypeFromTL(&state->ps);
+ ExecInitResultTupleSlotTL(estate, &state->ps);
/* Create workspace for per-tlist-entry expr state & SRF-is-done state */
state->nelems = list_length(node->plan.targetlist);
@@ -301,6 +293,8 @@ ExecInitProjectSet(ProjectSet *node, EState *estate, int eflags)
off++;
}
+ /* We don't support any qual on ProjectSet nodes */
+ Assert(node->plan.qual == NIL);
/*
* Create a memory context that ExecMakeFunctionResult can use to evaluate