From 5894e7e36e3af7111fb420434ba0f262dcd3f6af Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 7 May 2005 04:24:34 +0000 Subject: [PATCH] Add items: > * Prevent to_char() on interval from returning meaningless values > > For example, to_char('1 month', 'mon') is meaningless. Basically, > most date-related parameters to to_char() are meaningless for > intervals because interval is not anchored to a date. > > * Allow to_char() on interval values to accumulate the highest unit > requested > > o to_char(INTERVAL '1 hour 5 minutes', 'MI') => 65 > o to_char(INTERVAL '43 hours 20 minutes', 'MI' ) => 2600 > o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 > o to_char(INTERVAL '3 years 5 months','MM') => 41 > > Some special format flag would be required to request such > accumulation. Such functionality could also be added to EXTRACT. > Prevent accumulation that crosses the month/day boundary because of > the uneven number of days in a month. > --- doc/TODO | 21 ++++++++++++++++++++- doc/src/FAQ/TODO.html | 24 ++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/doc/TODO b/doc/TODO index 45ad26e0d8..020bfd519c 100644 --- a/doc/TODO +++ b/doc/TODO @@ -2,7 +2,7 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) -Last updated: Mon May 2 14:27:06 EDT 2005 +Last updated: Sat May 7 00:24:29 EDT 2005 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -188,6 +188,25 @@ Data Types zero the bits * Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr * Add 'tid != tid ' operator for use in corruption recovery +* Prevent to_char() on interval from returning meaningless values + + For example, to_char('1 month', 'mon') is meaningless. Basically, + most date-related parameters to to_char() are meaningless for + intervals because interval is not anchored to a date. + +* Allow to_char() on interval values to accumulate the highest unit + requested + + o to_char(INTERVAL '1 hour 5 minutes', 'MI') => 65 + o to_char(INTERVAL '43 hours 20 minutes', 'MI' ) => 2600 + o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 + o to_char(INTERVAL '3 years 5 months','MM') => 41 + + Some special format flag would be required to request such + accumulation. Such functionality could also be added to EXTRACT. + Prevent accumulation that crosses the month/day boundary because of + the uneven number of days in a month. + * Add ISO INTERVAL handling o Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO SECOND o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index bb3617fd6f..1663450fcf 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@

PostgreSQL TODO List

Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
-Last updated: Mon May 2 14:27:06 EDT 2005 +Last updated: Sat May 7 00:24:29 EDT 2005

The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html. @@ -176,7 +176,27 @@ first. zero the bits

  • Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr
  • Add 'tid != tid ' operator for use in corruption recovery -
  • Add ISO INTERVAL handling +
  • Prevent to_char() on interval from returning meaningless values +

    For example, to_char('1 month', 'mon') is meaningless. Basically, + most date-related parameters to to_char() are meaningless for + intervals because interval is not anchored to a date. +

    +
  • Allow to_char() on interval values to accumulate the highest unit + requested + +
  • +

    Some special format flag would be required to request such
    + accumulation. Such functionality could also be added to EXTRACT.
    + Prevent accumulation that crosses the month/day boundary because of
    + the uneven number of days in a month. +

    +