diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2004-10-23 00:05:27 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2004-10-23 00:05:27 +0000 |
commit | 529db99c6e561bcd1cda2da95e838af30bad03b8 (patch) | |
tree | eba087ec412e31ea09e5969ac02fe671688213a5 /src/backend/optimizer | |
parent | 6e3cc2029d796f8c12be4da06c3fba7dc298098a (diff) | |
download | postgresql-529db99c6e561bcd1cda2da95e838af30bad03b8.tar.gz postgresql-529db99c6e561bcd1cda2da95e838af30bad03b8.zip |
Avoid overflow in cost_sort when work_mem exceeds 1Gb.
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r-- | src/backend/optimizer/path/costsize.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index 2b6dc27973a..c67398d5b0d 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -49,7 +49,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.134 2004/08/29 05:06:43 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/path/costsize.c,v 1.135 2004/10/23 00:05:27 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -566,7 +566,7 @@ cost_sort(Path *path, Query *root, if (nbytes > work_mem_bytes) { double npages = ceil(nbytes / BLCKSZ); - double nruns = nbytes / (work_mem_bytes * 2); + double nruns = (nbytes / work_mem_bytes) * 0.5; double log_runs = ceil(LOG6(nruns)); double npageaccesses; |