Commit 9c26980f authored by Tom Lane's avatar Tom Lane

Replace unportable and overflow-prone use of 'long long' with safer

'double' arithmetic, per recent discussion.
parent 80af69ce
...@@ -978,7 +978,7 @@ main(int argc, char *argv[]) ...@@ -978,7 +978,7 @@ main(int argc, char *argv[])
db_info *dbs; db_info *dbs;
tbl_info *tbl; tbl_info *tbl;
PGresult *res = NULL; PGresult *res = NULL;
long long diff = 0; double diff;
struct timeval now, struct timeval now,
then; then;
...@@ -1151,14 +1151,14 @@ main(int argc, char *argv[]) ...@@ -1151,14 +1151,14 @@ main(int argc, char *argv[])
/* Figure out how long to sleep etc ... */ /* Figure out how long to sleep etc ... */
gettimeofday(&now, 0); gettimeofday(&now, 0);
diff = (now.tv_sec - then.tv_sec) * 1000000 + (now.tv_usec - then.tv_usec); diff = (int) (now.tv_sec - then.tv_sec) * 1000000.0 + (int) (now.tv_usec - then.tv_usec);
sleep_secs = args->sleep_base_value + args->sleep_scaling_factor * diff / 1000000; sleep_secs = args->sleep_base_value + args->sleep_scaling_factor * diff / 1000000.0;
loops++; loops++;
if (args->debug >= 2) if (args->debug >= 2)
{ {
sprintf(logbuffer, sprintf(logbuffer,
"%i All DBs checked in: %lld usec, will sleep for %i secs.", "%i All DBs checked in: %.0f usec, will sleep for %i secs.",
loops, diff, sleep_secs); loops, diff, sleep_secs);
log_entry(logbuffer); log_entry(logbuffer);
} }
......
/* /*
* $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.29 2003/11/29 19:51:35 pgsql Exp $ * $PostgreSQL: pgsql/contrib/pgbench/pgbench.c,v 1.30 2003/12/07 19:55:58 tgl Exp $
* *
* pgbench: a simple TPC-B like benchmark program for PostgreSQL * pgbench: a simple TPC-B like benchmark program for PostgreSQL
* written by Tatsuo Ishii * written by Tatsuo Ishii
...@@ -261,14 +261,14 @@ doOne(CState * state, int n, int debug, int ttype) ...@@ -261,14 +261,14 @@ doOne(CState * state, int n, int debug, int ttype)
*/ */
if (use_log) if (use_log)
{ {
long long diff; double diff;
struct timeval now; struct timeval now;
gettimeofday(&now, 0); gettimeofday(&now, 0);
diff = (now.tv_sec - st->txn_begin.tv_sec) * 1000000 + diff = (int) (now.tv_sec - st->txn_begin.tv_sec) * 1000000.0 +
(now.tv_usec - st->txn_begin.tv_usec); (int) (now.tv_usec - st->txn_begin.tv_usec);
fprintf(LOGFILE, "%d %d %lld\n", st->id, st->cnt, diff); fprintf(LOGFILE, "%d %d %.0f\n", st->id, st->cnt, diff);
} }
res = PQgetResult(st->con); res = PQgetResult(st->con);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment