Re: Fix overflow in justify_interval related functions - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Fix overflow in justify_interval related functions
Date
Msg-id 20220215005918.GA2186095@nathanxps13
Whole thread Raw
In response to Re: Fix overflow in justify_interval related functions  (Joseph Koshakow <koshy44@gmail.com>)
Responses Re: Fix overflow in justify_interval related functions  (Joseph Koshakow <koshy44@gmail.com>)
List pgsql-hackers
On Mon, Feb 14, 2022 at 04:57:07PM -0500, Joseph Koshakow wrote:
> On Mon, Feb 14, 2022 at 2:15 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
>> Makes sense.  So we could likely avoid it for justify_interval, but the
>> others are at the mercy of the interval implementation.
> 
> I'm not entirely sure what you mean by "it", but for both
> justify_interval and justify_days this commit throws an error if we
> try to set the months field above 2^31.
> 
>> +SELECT justify_days(interval '2147483647 months 30 days');
>> +ERROR:  interval out of range
>> +SELECT justify_interval(interval '2147483647 months 30 days');
>> +ERROR:  interval out of range
> 
> That's what these are testing.

I think it's possible to avoid overflow in justify_interval() in some cases
by pre-justifying the days.  I've attached a patch to demonstrate.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: support for CREATE MODULE
Next
From: Ranier Vilela
Date:
Subject: Re: Postgres 14.2 Windows can't rename temporary statistics file