ExecSetSlotDescriptor(slot, tupDesc, shouldFree);
}
-/* ----------------
- * ExecAssignResultTypeFromOuterPlan
- * ----------------
- */
-void
-ExecAssignResultTypeFromOuterPlan(PlanState *planstate)
-{
- PlanState *outerPlan;
- TupleDesc tupDesc;
-
- outerPlan = outerPlanState(planstate);
- tupDesc = ExecGetResultType(outerPlan);
-
- ExecAssignResultType(planstate, tupDesc, false);
-}
-
/* ----------------
* ExecAssignResultTypeFromTL
* ----------------
* initialize tuple type. no need to initialize projection info because
* this node doesn't do projections
*/
- ExecAssignResultTypeFromOuterPlan(&hashstate->ps);
+ ExecAssignResultTypeFromTL(&hashstate->ps);
hashstate->ps.ps_ProjInfo = NULL;
return hashstate;
* limit nodes do no projections, so initialize projection info for this
* node appropriately
*/
- ExecAssignResultTypeFromOuterPlan(&limitstate->ps);
+ ExecAssignResultTypeFromTL(&limitstate->ps);
limitstate->ps.ps_ProjInfo = NULL;
return limitstate;
* initialize tuple type. no need to initialize projection info because
* this node doesn't do projections.
*/
- ExecAssignResultTypeFromOuterPlan(&matstate->ss.ps);
+ ExecAssignResultTypeFromTL(&matstate->ss.ps);
ExecAssignScanTypeFromOuterPlan(&matstate->ss);
matstate->ss.ps.ps_ProjInfo = NULL;
* setop nodes do no projections, so initialize projection info for this
* node appropriately
*/
- ExecAssignResultTypeFromOuterPlan(&setopstate->ps);
+ ExecAssignResultTypeFromTL(&setopstate->ps);
setopstate->ps.ps_ProjInfo = NULL;
/*
* initialize tuple type. no need to initialize projection info because
* this node doesn't do projections.
*/
- ExecAssignResultTypeFromOuterPlan(&sortstate->ss.ps);
+ ExecAssignResultTypeFromTL(&sortstate->ss.ps);
ExecAssignScanTypeFromOuterPlan(&sortstate->ss);
sortstate->ss.ps.ps_ProjInfo = NULL;
* unique nodes do no projections, so initialize projection info for this
* node appropriately
*/
- ExecAssignResultTypeFromOuterPlan(&uniquestate->ps);
+ ExecAssignResultTypeFromTL(&uniquestate->ps);
uniquestate->ps.ps_ProjInfo = NULL;
/*
extern void ExecAssignExprContext(EState *estate, PlanState *planstate);
extern void ExecAssignResultType(PlanState *planstate,
TupleDesc tupDesc, bool shouldFree);
-extern void ExecAssignResultTypeFromOuterPlan(PlanState *planstate);
extern void ExecAssignResultTypeFromTL(PlanState *planstate);
extern TupleDesc ExecGetResultType(PlanState *planstate);
extern ProjectionInfo *ExecBuildProjectionInfo(List *targetList,