diff options
Diffstat (limited to 'src/bin/pgbench/pgbench.c')
-rw-r--r-- | src/bin/pgbench/pgbench.c | 4 |
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; |