Re: Fix formatting of Interval output - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Fix formatting of Interval output
Date
Msg-id 61097.1645290001@sss.pgh.pa.us
Whole thread Raw
In response to Re: Fix formatting of Interval output  (Joseph Koshakow <koshy44@gmail.com>)
Responses Re: Fix formatting of Interval output
List pgsql-hackers
Joseph Koshakow <koshy44@gmail.com> writes:
> On Fri, Feb 18, 2022 at 11:44 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I wonder if the most reasonable fix would be to start using int64
>> instead of int arithmetic for the values that are potentially large.
>> I doubt that we'd be taking much of a performance hit on modern
>> hardware.

> That's an interesting idea. I've always assumed that the range of the
> time fields of Intervals was 2147483647 hours 59 minutes
> 59.999999 seconds to -2147483648 hours -59 minutes
> -59.999999 seconds. However the only reason that we can't support
> the full range of int64 microseconds is because the struct pg_tm fields
> are only ints. If we increase those fields to int64 then we'd be able to
> support the full int64 range for microseconds as well as implicitly fix
> some of the overflow issues in DecodeInterval and EncodeInterval.

I think that messing with struct pg_tm might have too many side-effects.
However, pg_tm isn't all that well adapted to intervals in the first
place, so it'd make sense to make a new struct specifically for interval
decoding.

            regards, tom lane



pgsql-hackers by date:

Previous
From: Joseph Koshakow
Date:
Subject: Re: Fix formatting of Interval output
Next
From: Andres Freund
Date:
Subject: Re: Reducing power consumption on idle servers