From 5bab36e9f6c3f3a9e14a89e1124179a339d2c3a1 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 15 Dec 2002 16:17:59 +0000 Subject: Revise executor APIs so that all per-query state structure is built in a per-query memory context created by CreateExecutorState --- and destroyed by FreeExecutorState. This provides a final solution to the longstanding problem of memory leaked by various ExecEndNode calls. --- src/backend/executor/nodeTidscan.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'src/backend/executor/nodeTidscan.c') diff --git a/src/backend/executor/nodeTidscan.c b/src/backend/executor/nodeTidscan.c index ba2793407c..7e35bc07cd 100644 --- a/src/backend/executor/nodeTidscan.c +++ b/src/backend/executor/nodeTidscan.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeTidscan.c,v 1.29 2002/12/13 19:45:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeTidscan.c,v 1.30 2002/12/15 16:17:46 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -278,19 +278,8 @@ void ExecEndTidScan(TidScanState *node) { /* - * extract information from the node + * Free the exprcontext */ - if (node && node->tss_TidList) - pfree(node->tss_TidList); - - /* - * Free the projection info and the scan attribute info - * - * Note: we don't ExecFreeResultType(scanstate) because the rule manager - * depends on the tupType returned by ExecMain(). So for now, this is - * freed at end-transaction time. -cim 6/2/91 - */ - ExecFreeProjectionInfo(&node->ss.ps); ExecFreeExprContext(&node->ss.ps); /* -- cgit v1.2.1