From: Heikki Linnakangas Date: Thu, 8 Dec 2016 21:05:21 +0000 (+0200) Subject: Fix thinko in safeguard for negative availMem. X-Git-Tag: REL_10_BETA1~1278 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64bc26f90d342ca343f5ba383a97691a58991204;p=thirdparty%2Fpostgresql.git 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. --- 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++)