aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeMaterial.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/nodeMaterial.c')
-rw-r--r--src/backend/executor/nodeMaterial.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/backend/executor/nodeMaterial.c b/src/backend/executor/nodeMaterial.c
index 85afe87c443..8c2e57dbd07 100644
--- a/src/backend/executor/nodeMaterial.c
+++ b/src/backend/executor/nodeMaterial.c
@@ -207,14 +207,6 @@ ExecInitMaterial(Material *node, EState *estate, int eflags)
*/
/*
- * tuple table initialization
- *
- * material nodes only return tuples from their materialized relation.
- */
- ExecInitResultTupleSlot(estate, &matstate->ss.ps);
- ExecInitScanTupleSlot(estate, &matstate->ss);
-
- /*
* initialize child nodes
*
* We shield the child node from the need to support REWIND, BACKWARD, or
@@ -226,13 +218,19 @@ ExecInitMaterial(Material *node, EState *estate, int eflags)
outerPlanState(matstate) = ExecInitNode(outerPlan, estate, eflags);
/*
- * initialize tuple type. no need to initialize projection info because
- * this node doesn't do projections.
+ * Initialize result type and slot. No need to initialize projection info
+ * because this node doesn't do projections.
+ *
+ * material nodes only return tuples from their materialized relation.
*/
- ExecAssignResultTypeFromTL(&matstate->ss.ps);
- ExecAssignScanTypeFromOuterPlan(&matstate->ss);
+ ExecInitResultTupleSlotTL(estate, &matstate->ss.ps);
matstate->ss.ps.ps_ProjInfo = NULL;
+ /*
+ * initialize tuple type.
+ */
+ ExecCreateScanSlotFromOuterPlan(estate, &matstate->ss);
+
return matstate;
}