diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2016-12-08 23:05:21 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2016-12-08 23:05:21 +0200 |
commit | 64bc26f90d342ca343f5ba383a97691a58991204 (patch) | |
tree | 3513f93e0a16ebab5d1a12da2b9b84ea56010ee1 | |
parent | 01ae881e1c83ddb79df0a5cf6cee38c3ce4a327b (diff) | |
download | postgresql-64bc26f90d342ca343f5ba383a97691a58991204.tar.gz postgresql-64bc26f90d342ca343f5ba383a97691a58991204.zip |
Fix thinko in safeguard for negative availMem.
Also, use pass read_buffer_size * numInputTapes rather than just availMem
to USEMEM, to be neat.
Peter Geoghegan.
-rw-r--r-- | src/backend/utils/sort/tuplesort.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/utils/sort/tuplesort.c b/src/backend/utils/sort/tuplesort.c index 46eecbf942f..baf87b3cdfc 100644 --- a/src/backend/utils/sort/tuplesort.c +++ b/src/backend/utils/sort/tuplesort.c @@ -2669,8 +2669,8 @@ mergeruns(Tuplesortstate *state) (state->availMem) / 1024, numInputTapes); #endif - state->read_buffer_size = Min(state->availMem / numInputTapes, 0); - USEMEM(state, state->availMem); + state->read_buffer_size = Max(state->availMem / numInputTapes, 0); + USEMEM(state, state->read_buffer_size * numInputTapes); /* End of step D2: rewind all output tapes to prepare for merging */ for (tapenum = 0; tapenum < state->tapeRange; tapenum++) |