This has been fixed and will be in 7.4.1.

---------------------------------------------------------------------------

Vivek Khera wrote:
> >>>>> "LR" == Larry Rosenman <[EMAIL PROTECTED]> writes:
> 
> >> I'd be curious to see the output of this program on other platforms
> >> and other compilers.  I'm using gcc 2.95.4 as shipped with FreeBSD
> >> 4.8+.
> LR> this is with the UnixWare compiler:
> LR> $ cc -O -o testvk testvk.c
> LR> $ ./testvk
> LR> seconds = 3509
> LR> seconds1 = 3509000000
> LR> useconds = -452486
> LR> stepped diff = 3508547514
> LR> seconds2 = -785967296
> LR> seconds3 = 3509000000
> LR> diff = -786419782
> LR> long long diff = 3508547514
> LR> $
> 
> LR> I think this is a C bug.
> 
> Upon further reflection, I think so to.  The entire RHS is long's so
> the arithmetic is done in longs, then assigned to a long long when
> done (after things have overflowed).  Forcing any one of the RHS
> values to be long long causes the arithmetic to all be done using long
> longs, and then you get the numbers you expect.
> 
> I think you only notice this in autovacuum when it takes a long time
> to complete the work, like my example of about 3500 seconds.
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to [EMAIL PROTECTED] so that your
>       message can get through to the mailing list cleanly
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to