mirror of
https://github.com/postgres/postgres.git
synced 2025-08-19 23:22:23 +03:00
Remove obsolete executor cleanup code
This commit removes unnecessary ExecExprFreeContext() calls in ExecEnd* routines because the actual cleanup is managed by FreeExecutorState(). With no callers remaining for ExecExprFreeContext(), this commit also removes the function. This commit also drops redundant ExecClearTuple() calls, because ExecResetTupleTable() in ExecEndPlan() already takes care of resetting and dropping all TupleTableSlots initialized with ExecInitScanTupleSlot() and ExecInitExtraTupleSlot(). After these modifications, the ExecEnd*() routines for ValuesScan, NamedTuplestoreScan, and WorkTableScan became redundant. So, this commit removes them. Reviewed-by: Robert Haas Discussion: https://postgr.es/m/CA+HiwqFGkMSge6TgC9KQzde0ohpAycLQuV7ooitEEpbKB0O_mg@mail.gmail.com
This commit is contained in:
@@ -667,22 +667,10 @@ ExecEndNode(PlanState *node)
|
||||
ExecEndTableFuncScan((TableFuncScanState *) node);
|
||||
break;
|
||||
|
||||
case T_ValuesScanState:
|
||||
ExecEndValuesScan((ValuesScanState *) node);
|
||||
break;
|
||||
|
||||
case T_CteScanState:
|
||||
ExecEndCteScan((CteScanState *) node);
|
||||
break;
|
||||
|
||||
case T_NamedTuplestoreScanState:
|
||||
ExecEndNamedTuplestoreScan((NamedTuplestoreScanState *) node);
|
||||
break;
|
||||
|
||||
case T_WorkTableScanState:
|
||||
ExecEndWorkTableScan((WorkTableScanState *) node);
|
||||
break;
|
||||
|
||||
case T_ForeignScanState:
|
||||
ExecEndForeignScan((ForeignScanState *) node);
|
||||
break;
|
||||
@@ -757,6 +745,12 @@ ExecEndNode(PlanState *node)
|
||||
ExecEndLimit((LimitState *) node);
|
||||
break;
|
||||
|
||||
/* No clean up actions for these nodes. */
|
||||
case T_ValuesScanState:
|
||||
case T_NamedTuplestoreScanState:
|
||||
case T_WorkTableScanState:
|
||||
break;
|
||||
|
||||
default:
|
||||
elog(ERROR, "unrecognized node type: %d", (int) nodeTag(node));
|
||||
break;
|
||||
|
Reference in New Issue
Block a user