Re: Fix for timestamp rouding

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Fix for timestamp rouding
Дата
Msg-id 4172.1117133191@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Fix for timestamp rouding  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Fix for timestamp rouding
Список pgsql-patches
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> OK, I have a new patch, which simplifies the code by using
> TrimTrailingZeros(), gives more consistent subsecond display, and
> subpresses the rounding problem:

Does anyone have any idea why the existing code is designed to keep the
number of displayed fractional digits even?   It seems a bit silly to
me too, but we probably ought not remove what was clearly an intentional
behavior without understanding why it was intentional.

Also, I will point out once more that the problem is not "we only have
nine digits of precision not ten".  The problem is that the precision
degrades as the interval gets larger.

regression=# select '20 days 15 hours 57 mins 12.1 secs ago'::interval;
           interval
-------------------------------
 -20 days -15:57:12.1000000001
(1 row)

regression=# select '100020 days 15 hours 57 mins 12.1 secs ago'::interval;
             interval
-----------------------------------
 -100020 days -15:57:12.1000003815
(1 row)

regression=# select '100000020 days 15 hours 57 mins 12.1 secs ago'::interval;
              interval
-------------------------------------
 -100000020 days -15:57:12.099609375
(1 row)

regression=#

Without accounting for that fundamental fact, you will not have a
solution, only a kluge.

            regards, tom lane

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Fix for timestamp rouding
Следующее
От: Oliver Jowett
Дата:
Сообщение: Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL