aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-10-23 00:05:27 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-10-23 00:05:27 +0000
commit529db99c6e561bcd1cda2da95e838af30bad03b8 (patch)
treeeba087ec412e31ea09e5969ac02fe671688213a5 /src/backend/optimizer
parent6e3cc2029d796f8c12be4da06c3fba7dc298098a (diff)
downloadpostgresql-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.c4
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;