diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-26 22:58:12 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-02-26 22:58:12 +0000 |
commit | 909ca1407c4f38d9cca28df016f467db041edad5 (patch) | |
tree | 1dcbfb6dc95c77ae0b2711232668331273b8ac16 /src/backend/executor/nodeSort.c | |
parent | e1f06d8057322c1433b0436dfd825d1dbef486c1 (diff) | |
download | postgresql-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.c | 5 |
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); /* |