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 по дате отправления: