From 5894e7e36e3af7111fb420434ba0f262dcd3f6af Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> 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 45ad26e0d87..020bfd519c8 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 bb3617fd6f9..1663450fcf9 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@ <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF"> <h1><a name="section_1">PostgreSQL TODO List</a></h1> <p>Current maintainer: Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/> -Last updated: Mon May 2 14:27:06 EDT 2005 +Last updated: Sat May 7 00:24:29 EDT 2005 </p> <p>The most recent version of this document can be viewed at<br/> <a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>. @@ -176,7 +176,27 @@ first. zero the bits </li><li>Prevent INET cast to CIDR from droping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr </li><li>Add 'tid != tid ' operator for use in corruption recovery - </li><li>Add ISO INTERVAL handling + </li><li>Prevent to_char() on interval from returning meaningless values +<p> 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. +</p> + </li><li>Allow to_char() on interval values to accumulate the highest unit + requested + <ul> + <li>to_char(INTERVAL '1 hour 5 minutes', 'MI') => 65 + </li><li>to_char(INTERVAL '43 hours 20 minutes', 'MI' ) => 2600 + </li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 + </li><li>to_char(INTERVAL '3 years 5 months','MM') => 41 + </li></ul> +</li></ul> +<p> Some special format flag would be required to request such<br/> + accumulation. Such functionality could also be added to EXTRACT. <br/> + Prevent accumulation that crosses the month/day boundary because of<br/> + the uneven number of days in a month. +</p> +<ul> + <li>Add ISO INTERVAL handling <ul> <li>Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO SECOND </li><li>Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH -- GitLab