aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeGroup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeGroup.c')
-rw-r--r--src/backend/executor/nodeGroup.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/backend/executor/nodeGroup.c b/src/backend/executor/nodeGroup.c
index 8f7bf459efe..c6efd64d00d 100644
--- a/src/backend/executor/nodeGroup.c
+++ b/src/backend/executor/nodeGroup.c
@@ -182,34 +182,28 @@ ExecInitGroup(Group *node, EState *estate, int eflags)
ExecAssignExprContext(estate, &grpstate->ss.ps);
/*
- * tuple table initialization
- */
- ExecInitScanTupleSlot(estate, &grpstate->ss);
- ExecInitResultTupleSlot(estate, &grpstate->ss.ps);
-
- /*
- * initialize child expressions
- */
- grpstate->ss.ps.qual =
- ExecInitQual(node->plan.qual, (PlanState *) grpstate);
-
- /*
* initialize child nodes
*/
outerPlanState(grpstate) = ExecInitNode(outerPlan(node), estate, eflags);
/*
- * initialize tuple type.
+ * Initialize scan slot and type.
*/
- ExecAssignScanTypeFromOuterPlan(&grpstate->ss);
+ ExecCreateScanSlotFromOuterPlan(estate, &grpstate->ss);
/*
- * Initialize result tuple type and projection info.
+ * Initialize result slot, type and projection.
*/
- ExecAssignResultTypeFromTL(&grpstate->ss.ps);
+ ExecInitResultTupleSlotTL(estate, &grpstate->ss.ps);
ExecAssignProjectionInfo(&grpstate->ss.ps, NULL);
/*
+ * initialize child expressions
+ */
+ grpstate->ss.ps.qual =
+ ExecInitQual(node->plan.qual, (PlanState *) grpstate);
+
+ /*
* Precompute fmgr lookup data for inner loop
*/
grpstate->eqfunction =