mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
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.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user