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. + ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly