Re: [SQL] Interval subtracting

From: Mark Dilger <pgsql(at)markdilger(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: [SQL] Interval subtracting
Date: 2006-03-01 21:21:36
Message-ID: 44061060.8080407@markdilger.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches pgsql-sql

Tom Lane wrote:
> Mark Dilger <pgsql(at)markdilger(dot)com> writes:
>
>>The current code (without the patch) behaves as follows:
>
>
>> select justify_days(justify_hours('1 month 95 days -36:00:00'::interval));
>> justify_days
>> -------------------------
>> 4 mons 4 days -12:00:00
>
>
> So? If we liked the current behavior we wouldn't be discussing a patch...
>
> My thought is that justify_hours should reduce that input to
> '1 month 93 days 12:00:00' and then justify_days would produce
> '4 months 3 days 12:00:00'.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>

Your proposal is that justify_hours borrows 24 hours from the days column in
order to bring the -12 hours up to a positive 12 hours. Should it only do that
if the days column is a positive number? What if it is negative?

I think we all agree on the following but nobody is explicitly saying so:

select justify_days(justify_hours('2 days -12:00:00'::interval))
justify_days
-------------------------
1 day 12:00:00

select justify_days(justify_hours('-2 days -12:00:00'::interval))
justify_days
-------------------------
-2 days -12:00:00

Am I correct that the second case should still have negative hours? If so, then
justify_hours(...) needs to examine the sign of the days and months portion of
the interval while performing its work.

mark

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2006-03-01 21:45:27 Re: [SQL] Interval subtracting
Previous Message Tom Lane 2006-03-01 21:11:09 Re: [SQL] Interval subtracting

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2006-03-01 21:45:27 Re: [SQL] Interval subtracting
Previous Message Tom Lane 2006-03-01 21:11:09 Re: [SQL] Interval subtracting

Browse pgsql-sql by date

  From Date Subject
Next Message Bruce Momjian 2006-03-01 21:45:27 Re: [SQL] Interval subtracting
Previous Message Tom Lane 2006-03-01 21:11:09 Re: [SQL] Interval subtracting