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/nodeSort.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/backend/executor/nodeSort.c') diff --git a/src/backend/executor/nodeSort.c b/src/backend/executor/nodeSort.c index e1b4db7a51..a37583241f 100644 --- a/src/backend/executor/nodeSort.c +++ b/src/backend/executor/nodeSort.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeSort.c,v 1.41 2002/12/05 15:50:33 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeSort.c,v 1.42 2002/12/15 16:17:46 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -284,11 +284,6 @@ ExecEndSort(SortState *node) */ ExecClearTuple(node->ss.ss_ScanTupleSlot); - /* - * shut down the subplan - */ - ExecEndNode(outerPlanState(node)); - /* * Release tuplesort resources */ @@ -296,6 +291,11 @@ ExecEndSort(SortState *node) tuplesort_end((Tuplesortstate *) node->tuplesortstate); node->tuplesortstate = NULL; + /* + * shut down the subplan + */ + ExecEndNode(outerPlanState(node)); + SO1_printf("ExecEndSort: %s\n", "sort node shutdown"); } -- cgit v1.2.1