aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeResult.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeResult.c')
-rw-r--r--src/backend/executor/nodeResult.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/backend/executor/nodeResult.c b/src/backend/executor/nodeResult.c
index 5860d9c1ce6..e4418a29bba 100644
--- a/src/backend/executor/nodeResult.c
+++ b/src/backend/executor/nodeResult.c
@@ -205,19 +205,6 @@ ExecInitResult(Result *node, EState *estate, int eflags)
ExecAssignExprContext(estate, &resstate->ps);
/*
- * tuple table initialization
- */
- ExecInitResultTupleSlot(estate, &resstate->ps);
-
- /*
- * initialize child expressions
- */
- resstate->ps.qual =
- ExecInitQual(node->plan.qual, (PlanState *) resstate);
- resstate->resconstantqual =
- ExecInitQual((List *) node->resconstantqual, (PlanState *) resstate);
-
- /*
* initialize child nodes
*/
outerPlanState(resstate) = ExecInitNode(outerPlan(node), estate, eflags);
@@ -228,11 +215,19 @@ ExecInitResult(Result *node, EState *estate, int eflags)
Assert(innerPlan(node) == NULL);
/*
- * initialize tuple type and projection info
+ * Initialize result slot, type and projection.
*/
- ExecAssignResultTypeFromTL(&resstate->ps);
+ ExecInitResultTupleSlotTL(estate, &resstate->ps);
ExecAssignProjectionInfo(&resstate->ps, NULL);
+ /*
+ * initialize child expressions
+ */
+ resstate->ps.qual =
+ ExecInitQual(node->plan.qual, (PlanState *) resstate);
+ resstate->resconstantqual =
+ ExecInitQual((List *) node->resconstantqual, (PlanState *) resstate);
+
return resstate;
}