]> granicus.if.org Git - postgresql/commitdiff
Fix incorrect calculation of elapsed_xlogs. Itagaki Takahiro
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Nov 2007 21:19:18 +0000 (21:19 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Nov 2007 21:19:18 +0000 (21:19 +0000)
src/backend/postmaster/bgwriter.c

index c0a7616233d8cb3db7cea0decdad2d47b4121075..f75e9f37d888a6c60697f55ed8588c97ed3a865f 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.45 2007/10/04 15:37:44 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.46 2007/11/14 21:19:18 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -718,7 +718,7 @@ IsCheckpointOnSchedule(double progress)
        recptr = GetInsertRecPtr();
        elapsed_xlogs =
                (((double) (int32) (recptr.xlogid - ckpt_start_recptr.xlogid)) * XLogSegsPerFile +
-                ((double) (int32) (recptr.xrecoff - ckpt_start_recptr.xrecoff)) / XLogSegSize) /
+                ((double) recptr.xrecoff - (double) ckpt_start_recptr.xrecoff) / XLogSegSize) /
                CheckPointSegments;
 
        if (progress < elapsed_xlogs)