Re: Have I found an interval arithmetic bug?

Поиск
Список
Период
Сортировка
От Dean Rasheed
Тема Re: Have I found an interval arithmetic bug?
Дата
Msg-id CAEZATCWaK0qdTiqxS=fM03VaKcfbYmSOV_JzqYDrVn2nSaMnFQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Have I found an interval arithmetic bug?  (John W Higgins <wishdev@gmail.com>)
Ответы Re: Have I found an interval arithmetic bug?
Re: Have I found an interval arithmetic bug?
Список pgsql-hackers
On Wed, 28 Jul 2021 at 00:08, John W Higgins <wishdev@gmail.com> wrote:
>
> It's nice to envision all forms of fancy calculations. But the fact is that
>
> '1.5 month'::interval * 2 != '3 month"::interval
>

That's not exactly true. Even without the patch:

SELECT '1.5 month'::interval * 2 AS product,
       '3 month'::interval AS expected,
       justify_interval('1.5 month'::interval * 2) AS justified_product,
       '1.5 month'::interval * 2 = '3 month'::interval AS equal;

    product     | expected | justified_product | equal
----------------+----------+-------------------+-------
 2 mons 30 days | 3 mons   | 3 mons            | t
(1 row)

So it's equal even without calling justify_interval() on the result.

FWIW, I remain of the opinion that the interval literal code should
just spill down to lower units in all cases, just like the
multiplication and division code, so that the results are consistent
(barring floating point rounding errors) and explainable.

Regards,
Dean



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

Предыдущее
От: Richard Guo
Дата:
Сообщение: Problem about postponing gathering partial paths for topmost scan/join rel
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: proposal: enhancing plpgsql debug API - returns text value of variable content