Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating as
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 22 Mar 2009 01:12:32 +0000 (01:12 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 22 Mar 2009 01:12:32 +0000 (01:12 +0000)
noise words for the last twelve years, for compatibility with Berkeley-era
output formatting of the special INVALID values for those datatypes.
Considering that the datatypes themselves have been deprecated for awhile,
this is taking backwards compatibility a little far.  Per gripe from Josh
Berkus.

doc/src/sgml/datetime.sgml
src/backend/utils/adt/datetime.c
src/backend/utils/adt/nabstime.c
src/interfaces/ecpg/pgtypeslib/dt_common.c
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql

index df715144dbc909ac2441b8fefb5e145988e08920..d072118869654b1ec5008dd8170849b6a34878dd 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.59 2008/02/16 21:51:04 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/datetime.sgml,v 2.60 2009/03/22 01:12:31 tgl Exp $ -->
 
  <appendix id="datetime-appendix">
   <title>Date/Time Support</title>
        </row>
       </thead>
       <tbody>
-       <row>
-        <entry><literal>ABSTIME</literal></entry>
-        <entry>Ignored</entry>
-       </row>
        <row>
         <entry><literal>AM</literal></entry>
         <entry>Time is before 12:00</entry>
       </tbody>
      </tgroup>
     </table>
-
-   <para>
-    The key word <literal>ABSTIME</literal> is ignored for historical
-    reasons: In very old releases of
-    <productname>PostgreSQL</productname>, invalid values of type <type>abstime</type>
-    were emitted as <literal>Invalid Abstime</literal>. This is no
-    longer the case however and this key word will likely be dropped in
-    a future release.
-   </para>
   </sect1>
 
   <sect1 id="datetime-config-files">
index b1f606fecca78dea1dc217a46d716b21969129c8..034e030f72e8df9e3d509d8102ae56cfb08414b5 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.202 2009/03/17 18:39:39 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/datetime.c,v 1.203 2009/03/22 01:12:31 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -109,7 +109,6 @@ static int  sztimezonetktbl = 0;
 static const datetkn datetktbl[] = {
 /* text, token, lexval */
    {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
-   {"abstime", IGNORE_DTF, 0}, /* for pre-v6.1 "Invalid Abstime" */
    {DA_D, ADBC, AD},           /* "ad" for years > 0 */
    {"allballs", RESERV, DTK_ZULU},     /* 00:00:00 */
    {"am", AMPM, AM},
@@ -230,7 +229,6 @@ static datetkn deltatktbl[] = {
    {"msecs", UNITS, DTK_MILLISEC},
    {"qtr", UNITS, DTK_QUARTER},    /* "quarter" relative */
    {DQUARTER, UNITS, DTK_QUARTER},     /* "quarter" relative */
-   {"reltime", IGNORE_DTF, 0}, /* pre-v6.1 "Undefined Reltime" */
    {"s", UNITS, DTK_SECOND},
    {"sec", UNITS, DTK_SECOND},
    {DSECOND, UNITS, DTK_SECOND},
index 5c4ac78868593ccb5d3f335d66aff1579bd261f8..b25938a205df16282c362e30854120ee1544e12a 100644 (file)
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.159 2009/01/01 17:23:49 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/nabstime.c,v 1.160 2009/03/22 01:12:32 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 #define MIN_DAYNUM (-24856)        /* December 13, 1901 */
 #define MAX_DAYNUM 24854       /* January 18, 2038 */
 
-#define INVALID_RELTIME_STR        "Undefined RelTime"
-#define INVALID_RELTIME_STR_LEN (sizeof(INVALID_RELTIME_STR)-1)
-#define RELTIME_LABEL          '@'
-#define RELTIME_PAST           "ago"
-#define DIRMAXLEN              (sizeof(RELTIME_PAST)-1)
-
 /*
  * Unix epoch is Jan  1 00:00:00 1970.
  * Postgres knows about times sixty-eight years on either side of that
index 6850c22a20bafd28ffa585e51479d306e3d38f9c..a778960bc4debd758d2c7d4c23ec6d1a085d6223 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/pgtypeslib/dt_common.c,v 1.47 2009/02/05 08:28:47 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/pgtypeslib/dt_common.c,v 1.48 2009/03/22 01:12:32 tgl Exp $ */
 
 #include "postgres_fe.h"
 
@@ -26,7 +26,6 @@ typedef long AbsoluteTime;
 static datetkn datetktbl[] = {
 /* text, token, lexval */
    {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
-   {"abstime", IGNORE_DTF, 0}, /* for pre-v6.1 "Invalid Abstime" */
    {"acsst", DTZ, POS(42)},    /* Cent. Australia */
    {"acst", DTZ, NEG(16)},     /* Atlantic/Porto Acre */
    {"act", TZ, NEG(20)},       /* Atlantic/Porto Acre */
@@ -471,7 +470,6 @@ static datetkn deltatktbl[] = {
    {"msecs", UNITS, DTK_MILLISEC},
    {"qtr", UNITS, DTK_QUARTER},    /* "quarter" relative */
    {DQUARTER, UNITS, DTK_QUARTER},     /* "quarter" relative */
-   {"reltime", IGNORE_DTF, 0}, /* pre-v6.1 "Undefined Reltime" */
    {"s", UNITS, DTK_SECOND},
    {"sec", UNITS, DTK_SECOND},
    {DSECOND, UNITS, DTK_SECOND},
index 7646f1aee258e74b050d873e92c8120f5970afb9..d99c110724071e1ace3b46939cb523baefd034a4 100644 (file)
@@ -84,20 +84,16 @@ INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
 ERROR:  date/time value "invalid" is no longer supported
 LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
                                           ^
+INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
+ERROR:  date/time value "undefined" is no longer supported
+LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
+                                          ^
 INSERT INTO TIMESTAMP_TBL VALUES ('current');
 ERROR:  date/time value "current" is no longer supported
 LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('current');
                                           ^
 -- Postgres v6.0 standard output format
 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
-INSERT INTO TIMESTAMP_TBL VALUES ('Invalid Abstime');
-ERROR:  date/time value "Invalid Abstime" is no longer supported
-LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('Invalid Abstime');
-                                          ^
-INSERT INTO TIMESTAMP_TBL VALUES ('Undefined Abstime');
-ERROR:  date/time value "Undefined Abstime" is no longer supported
-LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('Undefined Abstime');
-                                          ^
 -- Variations on Postgres v6.1 standard output format
 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST');
 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
index 7b12a2c2c83201a43a8e380502e2acef2dfb5fd4..f35bb14d352c5951dbb399a129054f5a90a62b30 100644 (file)
@@ -83,20 +83,16 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
 ERROR:  date/time value "invalid" is no longer supported
 LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
                                             ^
+INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
+ERROR:  date/time value "undefined" is no longer supported
+LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
+                                            ^
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
 ERROR:  date/time value "current" is no longer supported
 LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
                                             ^
 -- Postgres v6.0 standard output format
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
-INSERT INTO TIMESTAMPTZ_TBL VALUES ('Invalid Abstime');
-ERROR:  date/time value "Invalid Abstime" is no longer supported
-LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('Invalid Abstime');
-                                            ^
-INSERT INTO TIMESTAMPTZ_TBL VALUES ('Undefined Abstime');
-ERROR:  date/time value "Undefined Abstime" is no longer supported
-LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('Undefined Abstime');
-                                            ^
 -- Variations on Postgres v6.1 standard output format
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
index 8f73e9f45bdf4a60a116ac0178e532bb95bc59bf..790ade313770e81c97036b0d52bcce9177e6aa23 100644 (file)
@@ -52,12 +52,11 @@ INSERT INTO TIMESTAMP_TBL VALUES ('infinity');
 INSERT INTO TIMESTAMP_TBL VALUES ('epoch');
 -- Obsolete special values
 INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
+INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
 INSERT INTO TIMESTAMP_TBL VALUES ('current');
 
 -- Postgres v6.0 standard output format
 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
-INSERT INTO TIMESTAMP_TBL VALUES ('Invalid Abstime');
-INSERT INTO TIMESTAMP_TBL VALUES ('Undefined Abstime');
 
 -- Variations on Postgres v6.1 standard output format
 INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST');
index 7da3f8fc92f8e6366ae30eecd4f7772c5c53fdd5..e74691cc04e1be1310c90034c07edf13cd9bf2c0 100644 (file)
@@ -51,12 +51,11 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch');
 -- Obsolete special values
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
+INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
 
 -- Postgres v6.0 standard output format
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
-INSERT INTO TIMESTAMPTZ_TBL VALUES ('Invalid Abstime');
-INSERT INTO TIMESTAMPTZ_TBL VALUES ('Undefined Abstime');
 
 -- Variations on Postgres v6.1 standard output format
 INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.000001 1997 PST');