aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2016-12-08 23:05:21 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2016-12-08 23:05:21 +0200
commit64bc26f90d342ca343f5ba383a97691a58991204 (patch)
tree3513f93e0a16ebab5d1a12da2b9b84ea56010ee1
parent01ae881e1c83ddb79df0a5cf6cee38c3ce4a327b (diff)
downloadpostgresql-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.c4
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++)