aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-04-21 19:28:36 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-04-21 19:28:36 -0400
commit92647fc4b9cd7406afb2ee240a20082ba6097177 (patch)
tree89f9d11a70770e94ac5c77277212214ac2da6ea3 /src
parenta0e8df527ec24e8dba98f295c0e2ab6ccf3e5d2c (diff)
downloadpostgresql-92647fc4b9cd7406afb2ee240a20082ba6097177.tar.gz
postgresql-92647fc4b9cd7406afb2ee240a20082ba6097177.zip
Avoid possible divide-by-zero in gincostestimate.
Per report from Jeff Janes.
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/adt/selfuncs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c
index 4d800f8a007..fa8cecafcbe 100644
--- a/src/backend/utils/adt/selfuncs.c
+++ b/src/backend/utils/adt/selfuncs.c
@@ -6458,6 +6458,10 @@ gincostestimate(PG_FUNCTION_ARGS)
numDataPages = Min(numDataPages, numPages - numEntryPages);
}
+ /* In an empty index, numEntries could be zero. Avoid divide-by-zero */
+ if (numEntries < 1)
+ numEntries = 1;
+
/*
* Include predicate in selectivityQuals (should match
* genericcostestimate)