From 909ca1407c4f38d9cca28df016f467db041edad5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 26 Feb 2006 22:58:12 +0000 Subject: Improve sorting speed by pre-extracting the first sort-key column of each tuple, as per my proposal of several days ago. Also, clean up sort memory management by keeping all working data in a separate memory context, and refine the handling of low-memory conditions. --- src/backend/executor/nodeSort.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/backend/executor/nodeSort.c') diff --git a/src/backend/executor/nodeSort.c b/src/backend/executor/nodeSort.c index a67326c60b..255ffcff25 100644 --- a/src/backend/executor/nodeSort.c +++ b/src/backend/executor/nodeSort.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/nodeSort.c,v 1.52 2005/11/23 20:27:57 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/executor/nodeSort.c,v 1.53 2006/02/26 22:58:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -225,6 +225,8 @@ ExecEndSort(SortState *node) * clean out the tuple table */ ExecClearTuple(node->ss.ss_ScanTupleSlot); + /* must drop pointer to sort result tuple */ + ExecClearTuple(node->ss.ps.ps_ResultTupleSlot); /* * Release tuplesort resources @@ -292,6 +294,7 @@ ExecReScanSort(SortState *node, ExprContext *exprCtxt) if (!node->sort_Done) return; + /* must drop pointer to sort result tuple */ ExecClearTuple(node->ss.ps.ps_ResultTupleSlot); /* -- cgit v1.2.1