Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating as
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.
This commit is contained in:
parent
596efd27ed
commit
0fd85d7879
@ -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">
|
<appendix id="datetime-appendix">
|
||||||
<title>Date/Time Support</title>
|
<title>Date/Time Support</title>
|
||||||
@ -308,10 +308,6 @@
|
|||||||
</row>
|
</row>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<row>
|
|
||||||
<entry><literal>ABSTIME</literal></entry>
|
|
||||||
<entry>Ignored</entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
<row>
|
||||||
<entry><literal>AM</literal></entry>
|
<entry><literal>AM</literal></entry>
|
||||||
<entry>Time is before 12:00</entry>
|
<entry>Time is before 12:00</entry>
|
||||||
@ -339,15 +335,6 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</tgroup>
|
</tgroup>
|
||||||
</table>
|
</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>
|
||||||
|
|
||||||
<sect1 id="datetime-config-files">
|
<sect1 id="datetime-config-files">
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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[] = {
|
static const datetkn datetktbl[] = {
|
||||||
/* text, token, lexval */
|
/* text, token, lexval */
|
||||||
{EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
|
{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 */
|
{DA_D, ADBC, AD}, /* "ad" for years > 0 */
|
||||||
{"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */
|
{"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */
|
||||||
{"am", AMPM, AM},
|
{"am", AMPM, AM},
|
||||||
@ -230,7 +229,6 @@ static datetkn deltatktbl[] = {
|
|||||||
{"msecs", UNITS, DTK_MILLISEC},
|
{"msecs", UNITS, DTK_MILLISEC},
|
||||||
{"qtr", UNITS, DTK_QUARTER}, /* "quarter" relative */
|
{"qtr", UNITS, DTK_QUARTER}, /* "quarter" relative */
|
||||||
{DQUARTER, UNITS, DTK_QUARTER}, /* "quarter" relative */
|
{DQUARTER, UNITS, DTK_QUARTER}, /* "quarter" relative */
|
||||||
{"reltime", IGNORE_DTF, 0}, /* pre-v6.1 "Undefined Reltime" */
|
|
||||||
{"s", UNITS, DTK_SECOND},
|
{"s", UNITS, DTK_SECOND},
|
||||||
{"sec", UNITS, DTK_SECOND},
|
{"sec", UNITS, DTK_SECOND},
|
||||||
{DSECOND, UNITS, DTK_SECOND},
|
{DSECOND, UNITS, DTK_SECOND},
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* 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 $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -30,12 +30,6 @@
|
|||||||
#define MIN_DAYNUM (-24856) /* December 13, 1901 */
|
#define MIN_DAYNUM (-24856) /* December 13, 1901 */
|
||||||
#define MAX_DAYNUM 24854 /* January 18, 2038 */
|
#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.
|
* Unix epoch is Jan 1 00:00:00 1970.
|
||||||
* Postgres knows about times sixty-eight years on either side of that
|
* Postgres knows about times sixty-eight years on either side of that
|
||||||
|
@ -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"
|
#include "postgres_fe.h"
|
||||||
|
|
||||||
@ -26,7 +26,6 @@ typedef long AbsoluteTime;
|
|||||||
static datetkn datetktbl[] = {
|
static datetkn datetktbl[] = {
|
||||||
/* text, token, lexval */
|
/* text, token, lexval */
|
||||||
{EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */
|
{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 */
|
{"acsst", DTZ, POS(42)}, /* Cent. Australia */
|
||||||
{"acst", DTZ, NEG(16)}, /* Atlantic/Porto Acre */
|
{"acst", DTZ, NEG(16)}, /* Atlantic/Porto Acre */
|
||||||
{"act", TZ, NEG(20)}, /* Atlantic/Porto Acre */
|
{"act", TZ, NEG(20)}, /* Atlantic/Porto Acre */
|
||||||
@ -471,7 +470,6 @@ static datetkn deltatktbl[] = {
|
|||||||
{"msecs", UNITS, DTK_MILLISEC},
|
{"msecs", UNITS, DTK_MILLISEC},
|
||||||
{"qtr", UNITS, DTK_QUARTER}, /* "quarter" relative */
|
{"qtr", UNITS, DTK_QUARTER}, /* "quarter" relative */
|
||||||
{DQUARTER, UNITS, DTK_QUARTER}, /* "quarter" relative */
|
{DQUARTER, UNITS, DTK_QUARTER}, /* "quarter" relative */
|
||||||
{"reltime", IGNORE_DTF, 0}, /* pre-v6.1 "Undefined Reltime" */
|
|
||||||
{"s", UNITS, DTK_SECOND},
|
{"s", UNITS, DTK_SECOND},
|
||||||
{"sec", UNITS, DTK_SECOND},
|
{"sec", UNITS, DTK_SECOND},
|
||||||
{DSECOND, UNITS, DTK_SECOND},
|
{DSECOND, UNITS, DTK_SECOND},
|
||||||
|
@ -84,20 +84,16 @@ INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
|
|||||||
ERROR: date/time value "invalid" is no longer supported
|
ERROR: date/time value "invalid" is no longer supported
|
||||||
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
|
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');
|
INSERT INTO TIMESTAMP_TBL VALUES ('current');
|
||||||
ERROR: date/time value "current" is no longer supported
|
ERROR: date/time value "current" is no longer supported
|
||||||
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('current');
|
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('current');
|
||||||
^
|
^
|
||||||
-- Postgres v6.0 standard output format
|
-- Postgres v6.0 standard output format
|
||||||
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
|
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
|
-- 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.000001 1997 PST');
|
||||||
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
|
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
|
||||||
|
@ -83,20 +83,16 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
|
|||||||
ERROR: date/time value "invalid" is no longer supported
|
ERROR: date/time value "invalid" is no longer supported
|
||||||
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
|
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');
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
|
||||||
ERROR: date/time value "current" is no longer supported
|
ERROR: date/time value "current" is no longer supported
|
||||||
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
|
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
|
||||||
^
|
^
|
||||||
-- Postgres v6.0 standard output format
|
-- Postgres v6.0 standard output format
|
||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
|
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
|
-- 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.000001 1997 PST');
|
||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01.999999 1997 PST');
|
||||||
|
@ -52,12 +52,11 @@ INSERT INTO TIMESTAMP_TBL VALUES ('infinity');
|
|||||||
INSERT INTO TIMESTAMP_TBL VALUES ('epoch');
|
INSERT INTO TIMESTAMP_TBL VALUES ('epoch');
|
||||||
-- Obsolete special values
|
-- Obsolete special values
|
||||||
INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
|
INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
|
||||||
|
INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
|
||||||
INSERT INTO TIMESTAMP_TBL VALUES ('current');
|
INSERT INTO TIMESTAMP_TBL VALUES ('current');
|
||||||
|
|
||||||
-- Postgres v6.0 standard output format
|
-- Postgres v6.0 standard output format
|
||||||
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
|
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
|
-- 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.000001 1997 PST');
|
||||||
|
@ -51,12 +51,11 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity');
|
|||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch');
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch');
|
||||||
-- Obsolete special values
|
-- Obsolete special values
|
||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
|
||||||
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
|
||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
|
INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
|
||||||
|
|
||||||
-- Postgres v6.0 standard output format
|
-- Postgres v6.0 standard output format
|
||||||
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
|
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
|
-- 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.000001 1997 PST');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user