aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeSort.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-02-26 22:58:12 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-02-26 22:58:12 +0000
commit909ca1407c4f38d9cca28df016f467db041edad5 (patch)
tree1dcbfb6dc95c77ae0b2711232668331273b8ac16 /src/backend/executor/nodeSort.c
parente1f06d8057322c1433b0436dfd825d1dbef486c1 (diff)
downloadpostgresql-909ca1407c4f38d9cca28df016f467db041edad5.tar.gz
postgresql-909ca1407c4f38d9cca28df016f467db041edad5.zip
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.
Diffstat (limited to 'src/backend/executor/nodeSort.c')
-rw-r--r--src/backend/executor/nodeSort.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/executor/nodeSort.c b/src/backend/executor/nodeSort.c
index a67326c60b2..255ffcff25e 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);
/*