diff options
Diffstat (limited to 'src/backend/executor/execUtils.c')
-rw-r--r-- | src/backend/executor/execUtils.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c index 71c6b5dc0a8..f9e7bb479f1 100644 --- a/src/backend/executor/execUtils.c +++ b/src/backend/executor/execUtils.c @@ -451,9 +451,7 @@ ExecAssignExprContext(EState *estate, PlanState *planstate) TupleDesc ExecGetResultType(PlanState *planstate) { - TupleTableSlot *slot = planstate->ps_ResultTupleSlot; - - return slot->tts_tupleDescriptor; + return planstate->ps_ResultTupleDesc; } @@ -496,7 +494,11 @@ ExecConditionalAssignProjectionInfo(PlanState *planstate, TupleDesc inputDesc, inputDesc)) planstate->ps_ProjInfo = NULL; else + { + if (!planstate->ps_ResultTupleSlot) + ExecInitResultSlot(planstate); ExecAssignProjectionInfo(planstate, inputDesc); + } } static bool |