]> granicus.if.org Git - postgresql/commit
Attached is the new patch. To summarize:
authorBruce Momjian <bruce@momjian.us>
Mon, 6 Mar 2006 22:49:17 +0000 (22:49 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 6 Mar 2006 22:49:17 +0000 (22:49 +0000)
commitd69b163247f62895c72f5f412638e5bbf4ca858b
tree25d0cafedc22e1078ffbeaba0ae7010a10f95ca5
parent19c21d115d221d9738afad142f2886dfd3cc40de
Attached is the new patch.  To summarize:

   - new function justify_interval(interval)
   - modified function justify_hours(interval)
   - modified function justify_days(interval)

These functions are defined to meet the requirements as discussed in
this thread.  Specifically:

   - justify_hours makes certain the sign bit on the hours
     matches the sign bit on the days.  It only checks the
     sign bit on the days, and not the months, when
     determining if the hours should be positive or negative.
     After the call, -24 < hours < 24.

   - justify_days makes certain the sign bit on the days
     matches the sign bit on the months.  It's behavior does
     not depend on the hours, nor does it modify the hours.
     After the call, -30 < days < 30.

   - justify_interval makes sure the sign bits on all three
     fields months, days, and hours are all the same.  After
     the call, -24 < hours < 24 AND -30 < days < 30.

Mark Dilger
doc/src/sgml/func.sgml
src/backend/utils/adt/timestamp.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/utils/timestamp.h
src/test/regress/expected/interval.out
src/test/regress/sql/interval.sql