diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index 1ff3cfea8b..e440a4fedd 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -138,14 +138,6 @@ date_in(PG_FUNCTION_ARGS) case DTK_DATE: break; - case DTK_CURRENT: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"current\" is no longer supported"))); - - GetCurrentDateTime(tm); - break; - case DTK_EPOCH: GetEpochTime(tm); break; diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c index 9def318c57..e9add385ba 100644 --- a/src/backend/utils/adt/datetime.c +++ b/src/backend/utils/adt/datetime.c @@ -99,7 +99,6 @@ static const datetkn datetktbl[] = { {"aug", MONTH, 8}, {"august", MONTH, 8}, {DB_C, ADBC, BC}, /* "bc" for years <= 0 */ - {DCURRENT, RESERV, DTK_CURRENT}, /* "current" is always now */ {"d", UNITS, DTK_DAY}, /* "day of month" for ISO input */ {"dec", MONTH, 12}, {"december", MONTH, 12}, @@ -113,7 +112,6 @@ static const datetkn datetktbl[] = { {"friday", DOW, 5}, {"h", UNITS, DTK_HOUR}, /* "hour" */ {LATE, RESERV, DTK_LATE}, /* "infinity" reserved for "late time" */ - {INVALID, RESERV, DTK_INVALID}, /* "invalid" reserved for bad time */ {"isodow", UNITS, DTK_ISODOW}, /* ISO day of week, Sunday == 7 */ {"isoyear", UNITS, DTK_ISOYEAR}, /* year in terms of the ISO week date */ {"j", UNITS, DTK_JULIAN}, @@ -157,7 +155,6 @@ static const datetkn datetktbl[] = { {"tue", DOW, 2}, {"tues", DOW, 2}, {"tuesday", DOW, 2}, - {"undefined", RESERV, DTK_INVALID}, /* pre-v6.1 invalid time */ {"wed", DOW, 3}, {"wednesday", DOW, 3}, {"weds", DOW, 3}, @@ -191,7 +188,6 @@ static const datetkn deltatktbl[] = { {"hours", UNITS, DTK_HOUR}, /* "hours" relative */ {"hr", UNITS, DTK_HOUR}, /* "hour" relative */ {"hrs", UNITS, DTK_HOUR}, /* "hours" relative */ - {INVALID, RESERV, DTK_INVALID}, /* reserved for invalid time */ {"m", UNITS, DTK_MINUTE}, /* "minute" relative */ {"microsecon", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {"mil", UNITS, DTK_MILLENNIUM}, /* "millennium" relative */ @@ -222,7 +218,6 @@ static const datetkn deltatktbl[] = { {DTIMEZONE, UNITS, DTK_TZ}, /* "timezone" time offset */ {"timezone_h", UNITS, DTK_TZ_HOUR}, /* timezone hour units */ {"timezone_m", UNITS, DTK_TZ_MINUTE}, /* timezone minutes units */ - {"undefined", RESERV, DTK_INVALID}, /* pre-v6.1 invalid time */ {"us", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {"usec", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {DMICROSEC, UNITS, DTK_MICROSEC}, /* "microsecond" relative */ @@ -1186,14 +1181,6 @@ DecodeDateTime(char **field, int *ftype, int nf, case RESERV: switch (val) { - case DTK_CURRENT: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"current\" is no longer supported"))); - - return DTERR_BAD_FORMAT; - break; - case DTK_NOW: tmask = (DTK_DATE_M | DTK_TIME_M | DTK_M(TZ)); *dtype = DTK_DATE; @@ -2097,13 +2084,6 @@ DecodeTimeOnly(char **field, int *ftype, int nf, case RESERV: switch (val) { - case DTK_CURRENT: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"current\" is no longer supported"))); - return DTERR_BAD_FORMAT; - break; - case DTK_NOW: tmask = DTK_TIME_M; *dtype = DTK_TIME; diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 853a8dc49a..5861ffbbc9 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -188,14 +188,6 @@ timestamp_in(PG_FUNCTION_ARGS) TIMESTAMP_NOBEGIN(result); break; - case DTK_INVALID: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"%s\" is no longer supported", str))); - - TIMESTAMP_NOEND(result); - break; - default: elog(ERROR, "unexpected dtype %d while parsing timestamp \"%s\"", dtype, str); @@ -439,14 +431,6 @@ timestamptz_in(PG_FUNCTION_ARGS) TIMESTAMP_NOBEGIN(result); break; - case DTK_INVALID: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"%s\" is no longer supported", str))); - - TIMESTAMP_NOEND(result); - break; - default: elog(ERROR, "unexpected dtype %d while parsing timestamptz \"%s\"", dtype, str); @@ -946,12 +930,6 @@ interval_in(PG_FUNCTION_ARGS) errmsg("interval out of range"))); break; - case DTK_INVALID: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("date/time value \"%s\" is no longer supported", str))); - break; - default: elog(ERROR, "unexpected dtype %d while parsing interval \"%s\"", dtype, str); diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h index 4de78ebe36..b8a199cdde 100644 --- a/src/include/utils/datetime.h +++ b/src/include/utils/datetime.h @@ -148,8 +148,6 @@ struct tzEntry; #define DTK_AGO 5 #define DTK_SPECIAL 6 -#define DTK_INVALID 7 -#define DTK_CURRENT 8 #define DTK_EARLY 9 #define DTK_LATE 10 #define DTK_EPOCH 11 diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h index a9884f278c..c5fd6bdaed 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt.h +++ b/src/interfaces/ecpg/pgtypeslib/dt.h @@ -143,8 +143,6 @@ typedef int32 fsec_t; #define DTK_AGO 5 #define DTK_SPECIAL 6 -#define DTK_INVALID 7 -#define DTK_CURRENT 8 #define DTK_EARLY 9 #define DTK_LATE 10 #define DTK_EPOCH 11 diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c index f5aed794fd..24fff28f0a 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c @@ -111,7 +111,6 @@ static const datetkn datetktbl[] = { #endif {"cot", TZ, -18000}, /* Columbia Time */ {"cst", TZ, -21600}, /* Central Standard Time */ - {DCURRENT, RESERV, DTK_CURRENT}, /* "current" is always now */ #if 0 cvst #endif @@ -201,7 +200,6 @@ static const datetkn datetktbl[] = { idt /* Israeli, Iran, Indian Daylight Time */ #endif {LATE, RESERV, DTK_LATE}, /* "infinity" reserved for "late time" */ - {INVALID, RESERV, DTK_INVALID}, /* "invalid" reserved for bad time */ {"iot", TZ, 18000}, /* Indian Chagos Time */ {"irkst", DTZ, 32400}, /* Irkutsk Summer Time */ {"irkt", TZ, 28800}, /* Irkutsk Time */ @@ -372,7 +370,6 @@ static const datetkn datetktbl[] = { #endif {"ulast", DTZ, 32400}, /* Ulan Bator Summer Time */ {"ulat", TZ, 28800}, /* Ulan Bator Time */ - {"undefined", RESERV, DTK_INVALID}, /* pre-v6.1 invalid time */ {"ut", TZ, 0}, {"utc", TZ, 0}, {"uyst", DTZ, -7200}, /* Uruguay Summer Time */ @@ -440,7 +437,6 @@ static const datetkn deltatktbl[] = { {"hours", UNITS, DTK_HOUR}, /* "hours" relative */ {"hr", UNITS, DTK_HOUR}, /* "hour" relative */ {"hrs", UNITS, DTK_HOUR}, /* "hours" relative */ - {INVALID, RESERV, DTK_INVALID}, /* reserved for invalid time */ {"m", UNITS, DTK_MINUTE}, /* "minute" relative */ {"microsecon", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {"mil", UNITS, DTK_MILLENNIUM}, /* "millennium" relative */ @@ -471,7 +467,6 @@ static const datetkn deltatktbl[] = { {DTIMEZONE, UNITS, DTK_TZ}, /* "timezone" time offset */ {"timezone_h", UNITS, DTK_TZ_HOUR}, /* timezone hour units */ {"timezone_m", UNITS, DTK_TZ_MINUTE}, /* timezone minutes units */ - {"undefined", RESERV, DTK_INVALID}, /* pre-v6.1 invalid time */ {"us", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {"usec", UNITS, DTK_MICROSEC}, /* "microsecond" relative */ {DMICROSEC, UNITS, DTK_MICROSEC}, /* "microsecond" relative */ diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c index a7e0fe66f0..efd9f3aa71 100644 --- a/src/interfaces/ecpg/pgtypeslib/timestamp.c +++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c @@ -253,10 +253,6 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr) TIMESTAMP_NOBEGIN(result); break; - case DTK_INVALID: - errno = PGTYPES_TS_BAD_TIMESTAMP; - return noresult; - default: errno = PGTYPES_TS_BAD_TIMESTAMP; return noresult; diff --git a/src/test/regress/expected/date.out b/src/test/regress/expected/date.out index 1bcc9465a9..4686d0d8ca 100644 --- a/src/test/regress/expected/date.out +++ b/src/test/regress/expected/date.out @@ -1444,9 +1444,6 @@ SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity SELECT EXTRACT(MICROSEC FROM DATE 'infinity'); -- ERROR: timestamp units "microsec" not recognized ERROR: timestamp units "microsec" not recognized CONTEXT: SQL function "date_part" statement 1 -SELECT EXTRACT(UNDEFINED FROM DATE 'infinity'); -- ERROR: timestamp units "undefined" not supported -ERROR: timestamp units "undefined" not supported -CONTEXT: SQL function "date_part" statement 1 -- test constructors select make_date(2013, 7, 15); make_date diff --git a/src/test/regress/expected/timestamp.out b/src/test/regress/expected/timestamp.out index b2b171f560..715680e330 100644 --- a/src/test/regress/expected/timestamp.out +++ b/src/test/regress/expected/timestamp.out @@ -79,19 +79,6 @@ TRUNCATE TIMESTAMP_TBL; INSERT INTO TIMESTAMP_TBL VALUES ('-infinity'); INSERT INTO TIMESTAMP_TBL VALUES ('infinity'); INSERT INTO TIMESTAMP_TBL VALUES ('epoch'); --- Obsolete special values -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'); -- Variations on Postgres v6.1 standard output format diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out index 8a4c719993..5551fa6610 100644 --- a/src/test/regress/expected/timestamptz.out +++ b/src/test/regress/expected/timestamptz.out @@ -78,19 +78,6 @@ DELETE FROM TIMESTAMPTZ_TBL; INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity'); INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity'); INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch'); --- Obsolete special values -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'); -- Variations on Postgres v6.1 standard output format diff --git a/src/test/regress/sql/date.sql b/src/test/regress/sql/date.sql index 22f80f2ee2..4c5b94a14a 100644 --- a/src/test/regress/sql/date.sql +++ b/src/test/regress/sql/date.sql @@ -334,7 +334,6 @@ SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity -- wrong fields from non-finite date: -- SELECT EXTRACT(MICROSEC FROM DATE 'infinity'); -- ERROR: timestamp units "microsec" not recognized -SELECT EXTRACT(UNDEFINED FROM DATE 'infinity'); -- ERROR: timestamp units "undefined" not supported -- test constructors select make_date(2013, 7, 15); diff --git a/src/test/regress/sql/timestamp.sql b/src/test/regress/sql/timestamp.sql index 150eb54c87..031b22bc3c 100644 --- a/src/test/regress/sql/timestamp.sql +++ b/src/test/regress/sql/timestamp.sql @@ -50,10 +50,6 @@ TRUNCATE TIMESTAMP_TBL; INSERT INTO TIMESTAMP_TBL VALUES ('-infinity'); 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'); diff --git a/src/test/regress/sql/timestamptz.sql b/src/test/regress/sql/timestamptz.sql index c3bd46c233..28c76d6b72 100644 --- a/src/test/regress/sql/timestamptz.sql +++ b/src/test/regress/sql/timestamptz.sql @@ -49,10 +49,6 @@ DELETE FROM TIMESTAMPTZ_TBL; INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity'); 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');