aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-09-01 18:47:39 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-09-01 18:47:39 +0000
commitd2825e1c855e2ce0e9d3e6bc2c6f3d7793394a04 (patch)
tree9b8cc57c670685f61c088f73a20267d898caed08 /src
parent0ee5a39862748b846786db48f41cc29eab38c015 (diff)
downloadpostgresql-d2825e1c855e2ce0e9d3e6bc2c6f3d7793394a04.tar.gz
postgresql-d2825e1c855e2ce0e9d3e6bc2c6f3d7793394a04.zip
Since sort_bounded_heap makes state changes that should be made
regardless of the number of tuples involved, it's incorrect to skip it when memtupcount = 1; the number of cycles saved is minuscule anyway. An alternative solution would be to pull the state changes out to the call site in tuplesort_performsort, but keeping them near the corresponding changes in make_bounded_heap seems marginally cleaner. Noticed by Greg Stark.
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/sort/tuplesort.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c
index 18e4967d8c6..815dd2158d1 100644
--- a/src/backend/utils/sort/tuplesort.c
+++ b/src/backend/utils/sort/tuplesort.c
@@ -91,7 +91,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.77 2007/06/07 19:19:57 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/sort/tuplesort.c,v 1.78 2007/09/01 18:47:39 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1068,8 +1068,7 @@ tuplesort_performsort(Tuplesortstate *state)
* in memory, using a heap to eliminate excess tuples. Now we have
* to transform the heap to a properly-sorted array.
*/
- if (state->memtupcount > 1)
- sort_bounded_heap(state);
+ sort_bounded_heap(state);
state->current = 0;
state->eof_reached = false;
state->markpos_offset = 0;