Re: Extract epoch from Interval weird behavior - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Extract epoch from Interval weird behavior
Date
Msg-id 118d5351-4d7e-8b35-8837-9139a9cc7bd3@enterprisedb.com
Whole thread Raw
In response to Re: Extract epoch from Interval weird behavior  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 08.04.22 15:10, Tom Lane wrote:
> Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes:
>> We really wanted to avoid doing calculations in numeric as much as
>> possible.  So we should figure out a different way to write this.  The
>> attached patch works for me.  It's a bit ugly since it hardcodes some
>> factors.  Maybe we can rephrase it a bit more elegantly.
> 
> I think it's fine but needs some commentary.  Maybe about like
> "To do this calculation in integer arithmetic even though
> DAYS_PER_YEAR is fractional, multiply everything by 4
> and then divide by 4 again at the end.  This relies on
> DAYS_PER_YEAR being a multiple of 0.25 and on SECS_PER_DAY
> being a multiple of 4."
> 
> BTW, it might be good to parenthesize as
> 
> (... big calculation ...) * (SECS_PER_DAY/4)
> 
> to eliminate any question of whether the value could overflow
> before the final division by 4.

done that way



pgsql-hackers by date:

Previous
From: Jacob Champion
Date:
Subject: Re: Readd use of TAP subtests
Next
From: Daniel Gustafsson
Date:
Subject: Re: Readd use of TAP subtests