aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pgbench/pgbench.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pgbench/pgbench.c')
-rw-r--r--src/bin/pgbench/pgbench.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 6eb912d3079..bb3e6f794cd 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -1617,9 +1617,9 @@ coerceToInt(PgBenchValue *pval, int64 *ival)
}
else if (pval->type == PGBT_DOUBLE)
{
- double dval = pval->u.dval;
+ double dval = rint(pval->u.dval);
- if (dval < PG_INT64_MIN || PG_INT64_MAX < dval)
+ if (isnan(dval) || !FLOAT8_FITS_IN_INT64(dval))
{
fprintf(stderr, "double to int overflow for %f\n", dval);
return false;