Replace unportable and overflow-prone use of 'long long' with safer
authorTom Lane
Sun, 7 Dec 2003 19:55:58 +0000 (19:55 +0000)
committerTom Lane
Sun, 7 Dec 2003 19:55:58 +0000 (19:55 +0000)
'double' arithmetic, per recent discussion.

contrib/pg_autovacuum/pg_autovacuum.c
contrib/pgbench/pgbench.c

index 00ccdc68bb8e70ba49b127f45db678c0226fb318..c567c4e7f300c4f461875f95d3ec2df42f18ee12 100644 (file)
@@ -978,7 +978,7 @@ main(int argc, char *argv[])
    db_info    *dbs;
    tbl_info   *tbl;
    PGresult   *res = NULL;
-   long long   diff = 0;
+   double      diff;
    struct timeval now,
                then;
 
@@ -1151,14 +1151,14 @@ main(int argc, char *argv[])
 
        /* Figure out how long to sleep etc ... */
        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++;
        if (args->debug >= 2)
        {
            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);
            log_entry(logbuffer);
        }
index b42a692691978c693e33b5e89bffdb8fc97cf7e7..ae06dde2ee638b6863df96e94a94cfb25e4ec03a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $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
  * written by Tatsuo Ishii
@@ -261,14 +261,14 @@ doOne(CState * state, int n, int debug, int ttype)
                 */
                if (use_log)
                {
-                   long long   diff;
+                   double  diff;
                    struct timeval now;
 
                    gettimeofday(&now, 0);
-                   diff = (now.tv_sec - st->txn_begin.tv_sec) * 1000000 +
-                       (now.tv_usec - st->txn_begin.tv_usec);
+                   diff = (int) (now.tv_sec - st->txn_begin.tv_sec) * 1000000.0 +
+                       (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);