Re: Have I found an interval arithmetic bug? - Mailing list pgsql-hackers

From Zhihong Yu
Subject Re: Have I found an interval arithmetic bug?
Date
Msg-id CALNJ-vQXQGPQiKt1SubT2fd4xGuvoN9UUtJyVr8JRfPxBfQHgg@mail.gmail.com
Whole thread Raw
In response to Re: Have I found an interval arithmetic bug?  (Bruce Momjian <bruce@momjian.us>)
Responses Re: Have I found an interval arithmetic bug?  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers


On Tue, Jul 20, 2021 at 3:53 PM Bruce Momjian <bruce@momjian.us> wrote:
On Tue, Jul 20, 2021 at 02:33:07PM -0700, Zhihong Yu wrote:
> On Mon, Jul 19, 2021 at 9:14 PM Bruce Momjian <bruce@momjian.us> wrote:
> >     Obviously this should return '1 mon 26 days', but with my most recent
> >     patch, it returned '1 mon 25 days'.  Turns out I had not properly used
> >     rint() in AdjustFractDays, and in fact the function is now longer needed
> >     because it is just a multiplication and an rint().
>
> Patch looks good.
> Maybe add the statement above as a test case :
>
> SELECT INTERVAL '1.8594 months' 

Good idea --- updated patch attached.

--
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  If only the physical world exists, free will is an illusion.

Hi,
With your patch, the following example (Coutesy Bryn) still shows fraction:

# select (interval '1 month')*1.123;
       ?column?
-----------------------
 1 mon 3 days 16:33:36
(1 row) 

Do you think the output can be improved (by getting rid of fraction) ?

Thanks

pgsql-hackers by date:

Previous
From: Jacob Champion
Date:
Subject: Re: badly calculated width of emoji in psql
Next
From: Alvaro Herrera
Date:
Subject: Re: Column Filtering in Logical Replication