Re: Extract epoch from Interval weird behavior
От | Peter Eisentraut |
---|---|
Тема | Re: Extract epoch from Interval weird behavior |
Дата | |
Msg-id | 118d5351-4d7e-8b35-8837-9139a9cc7bd3@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: Extract epoch from Interval weird behavior (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: