Re: [SQL] Interval subtracting

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [SQL] Interval subtracting
Дата
Msg-id 200603012145.k21LjRX11928@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: [SQL] Interval subtracting  (Mark Dilger <pgsql@markdilger.com>)
Ответы Re: [SQL] Interval subtracting  (Mark Dilger <pgsql@markdilger.com>)
Re: [SQL] Interval subtracting  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Mark Dilger wrote:
> 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

Right.

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

Right, unchanged.

> 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.

Yes, it would need to look at both, and this opens a new problem. 
Imagine this:
'1 mons -2 days -12:00:00'

Which sign do we head to for this?  For justify_hours, if we don't look
at the months it remains unchange, but calling justify_days we get:
'28 days -12:00:00'

which is wrong (negative and positive).  Now if we knew justify_days was
going to be called we would have had justify_hours return '-3 days
12:00:00' so the final result after calling justify_days would be '27
days 12:00:00'.

My head hurts.

--  Bruce Momjian   http://candle.pha.pa.us SRA OSS, Inc.   http://www.sraoss.com
 + If your life is a hard drive, Christ can be your backup. +


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Mark Dilger
Дата:
Сообщение: Re: [SQL] Interval subtracting
Следующее
От: Mark Dilger
Дата:
Сообщение: Re: [SQL] Interval subtracting