win_pgstat_fix.patch
application/octet-stream
Filename: win_pgstat_fix.patch
Type: application/octet-stream
Part: 0
diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index 83b50bb..79168b6 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -234,9 +234,11 @@ pgstatindex(PG_FUNCTION_ARGS) values[j] = palloc(32); snprintf(values[j++], 32, INT64_FORMAT, indexStat.deleted_pages); values[j] = palloc(32); - snprintf(values[j++], 32, "%.2f", 100.0 - (double) indexStat.free_space / (double) indexStat.max_avail * 100.0); + snprintf(values[j++], 32, "%.2f", 100.0 - indexStat.max_avail == 0 ? + (double)0.0 : ((double) indexStat.free_space / (double) indexStat.max_avail * 100.0)); values[j] = palloc(32); - snprintf(values[j++], 32, "%.2f", (double) indexStat.fragments / (double) indexStat.leaf_pages * 100.0); + snprintf(values[j++], 32, "%.2f", indexStat.leaf_pages == 0 ? + (double) 0.0 : ((double) indexStat.fragments / (double) indexStat.leaf_pages * 100.0)); tuple = BuildTupleFromCStrings(TupleDescGetAttInMetadata(tupleDesc), values);