Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit666cbae

Browse files
committed
Remove explicit error handling for obsolete date/time values
The date/time values 'current', 'invalid', and 'undefined' wereremoved a long time ago, but the code still contains explicit errorhandling for the transition. To simplify the code and avoid having tohandle these values everywhere, just remove the recognition of thesetokens altogether now.Reviewed-by: Michael Paquier <michael@paquier.xyz>
1 parent54100f5 commit666cbae

File tree

13 files changed

+0
-101
lines changed

13 files changed

+0
-101
lines changed

‎src/backend/utils/adt/date.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,6 @@ date_in(PG_FUNCTION_ARGS)
138138
caseDTK_DATE:
139139
break;
140140

141-
caseDTK_CURRENT:
142-
ereport(ERROR,
143-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
144-
errmsg("date/time value \"current\" is no longer supported")));
145-
146-
GetCurrentDateTime(tm);
147-
break;
148-
149141
caseDTK_EPOCH:
150142
GetEpochTime(tm);
151143
break;

‎src/backend/utils/adt/datetime.c

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,6 @@ static const datetkn datetktbl[] = {
9999
{"aug",MONTH,8},
100100
{"august",MONTH,8},
101101
{DB_C,ADBC,BC},/* "bc" for years <= 0 */
102-
{DCURRENT,RESERV,DTK_CURRENT},/* "current" is always now */
103102
{"d",UNITS,DTK_DAY},/* "day of month" for ISO input */
104103
{"dec",MONTH,12},
105104
{"december",MONTH,12},
@@ -113,7 +112,6 @@ static const datetkn datetktbl[] = {
113112
{"friday",DOW,5},
114113
{"h",UNITS,DTK_HOUR},/* "hour" */
115114
{LATE,RESERV,DTK_LATE},/* "infinity" reserved for "late time" */
116-
{INVALID,RESERV,DTK_INVALID},/* "invalid" reserved for bad time */
117115
{"isodow",UNITS,DTK_ISODOW},/* ISO day of week, Sunday == 7 */
118116
{"isoyear",UNITS,DTK_ISOYEAR},/* year in terms of the ISO week date */
119117
{"j",UNITS,DTK_JULIAN},
@@ -157,7 +155,6 @@ static const datetkn datetktbl[] = {
157155
{"tue",DOW,2},
158156
{"tues",DOW,2},
159157
{"tuesday",DOW,2},
160-
{"undefined",RESERV,DTK_INVALID},/* pre-v6.1 invalid time */
161158
{"wed",DOW,3},
162159
{"wednesday",DOW,3},
163160
{"weds",DOW,3},
@@ -191,7 +188,6 @@ static const datetkn deltatktbl[] = {
191188
{"hours",UNITS,DTK_HOUR},/* "hours" relative */
192189
{"hr",UNITS,DTK_HOUR},/* "hour" relative */
193190
{"hrs",UNITS,DTK_HOUR},/* "hours" relative */
194-
{INVALID,RESERV,DTK_INVALID},/* reserved for invalid time */
195191
{"m",UNITS,DTK_MINUTE},/* "minute" relative */
196192
{"microsecon",UNITS,DTK_MICROSEC},/* "microsecond" relative */
197193
{"mil",UNITS,DTK_MILLENNIUM},/* "millennium" relative */
@@ -222,7 +218,6 @@ static const datetkn deltatktbl[] = {
222218
{DTIMEZONE,UNITS,DTK_TZ},/* "timezone" time offset */
223219
{"timezone_h",UNITS,DTK_TZ_HOUR},/* timezone hour units */
224220
{"timezone_m",UNITS,DTK_TZ_MINUTE},/* timezone minutes units */
225-
{"undefined",RESERV,DTK_INVALID},/* pre-v6.1 invalid time */
226221
{"us",UNITS,DTK_MICROSEC},/* "microsecond" relative */
227222
{"usec",UNITS,DTK_MICROSEC},/* "microsecond" relative */
228223
{DMICROSEC,UNITS,DTK_MICROSEC},/* "microsecond" relative */
@@ -1186,14 +1181,6 @@ DecodeDateTime(char **field, int *ftype, int nf,
11861181
caseRESERV:
11871182
switch (val)
11881183
{
1189-
caseDTK_CURRENT:
1190-
ereport(ERROR,
1191-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
1192-
errmsg("date/time value \"current\" is no longer supported")));
1193-
1194-
returnDTERR_BAD_FORMAT;
1195-
break;
1196-
11971184
caseDTK_NOW:
11981185
tmask= (DTK_DATE_M |DTK_TIME_M |DTK_M(TZ));
11991186
*dtype=DTK_DATE;
@@ -2097,13 +2084,6 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
20972084
caseRESERV:
20982085
switch (val)
20992086
{
2100-
caseDTK_CURRENT:
2101-
ereport(ERROR,
2102-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
2103-
errmsg("date/time value \"current\" is no longer supported")));
2104-
returnDTERR_BAD_FORMAT;
2105-
break;
2106-
21072087
caseDTK_NOW:
21082088
tmask=DTK_TIME_M;
21092089
*dtype=DTK_TIME;

‎src/backend/utils/adt/timestamp.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -188,14 +188,6 @@ timestamp_in(PG_FUNCTION_ARGS)
188188
TIMESTAMP_NOBEGIN(result);
189189
break;
190190

191-
caseDTK_INVALID:
192-
ereport(ERROR,
193-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
194-
errmsg("date/time value \"%s\" is no longer supported",str)));
195-
196-
TIMESTAMP_NOEND(result);
197-
break;
198-
199191
default:
200192
elog(ERROR,"unexpected dtype %d while parsing timestamp \"%s\"",
201193
dtype,str);
@@ -439,14 +431,6 @@ timestamptz_in(PG_FUNCTION_ARGS)
439431
TIMESTAMP_NOBEGIN(result);
440432
break;
441433

442-
caseDTK_INVALID:
443-
ereport(ERROR,
444-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
445-
errmsg("date/time value \"%s\" is no longer supported",str)));
446-
447-
TIMESTAMP_NOEND(result);
448-
break;
449-
450434
default:
451435
elog(ERROR,"unexpected dtype %d while parsing timestamptz \"%s\"",
452436
dtype,str);
@@ -946,12 +930,6 @@ interval_in(PG_FUNCTION_ARGS)
946930
errmsg("interval out of range")));
947931
break;
948932

949-
caseDTK_INVALID:
950-
ereport(ERROR,
951-
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
952-
errmsg("date/time value \"%s\" is no longer supported",str)));
953-
break;
954-
955933
default:
956934
elog(ERROR,"unexpected dtype %d while parsing interval \"%s\"",
957935
dtype,str);

‎src/include/utils/datetime.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,6 @@ struct tzEntry;
148148
#defineDTK_AGO5
149149

150150
#defineDTK_SPECIAL6
151-
#defineDTK_INVALID7
152-
#defineDTK_CURRENT8
153151
#defineDTK_EARLY9
154152
#defineDTK_LATE10
155153
#defineDTK_EPOCH11

‎src/interfaces/ecpg/pgtypeslib/dt.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,6 @@ typedef int32 fsec_t;
143143
#defineDTK_AGO5
144144

145145
#defineDTK_SPECIAL6
146-
#defineDTK_INVALID7
147-
#defineDTK_CURRENT8
148146
#defineDTK_EARLY9
149147
#defineDTK_LATE10
150148
#defineDTK_EPOCH11

‎src/interfaces/ecpg/pgtypeslib/dt_common.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ static const datetkn datetktbl[] = {
111111
#endif
112112
{"cot",TZ,-18000},/* Columbia Time */
113113
{"cst",TZ,-21600},/* Central Standard Time */
114-
{DCURRENT,RESERV,DTK_CURRENT},/* "current" is always now */
115114
#if0
116115
cvst
117116
#endif
@@ -201,7 +200,6 @@ static const datetkn datetktbl[] = {
201200
idt/* Israeli, Iran, Indian Daylight Time */
202201
#endif
203202
{LATE,RESERV,DTK_LATE},/* "infinity" reserved for "late time" */
204-
{INVALID,RESERV,DTK_INVALID},/* "invalid" reserved for bad time */
205203
{"iot",TZ,18000},/* Indian Chagos Time */
206204
{"irkst",DTZ,32400},/* Irkutsk Summer Time */
207205
{"irkt",TZ,28800},/* Irkutsk Time */
@@ -372,7 +370,6 @@ static const datetkn datetktbl[] = {
372370
#endif
373371
{"ulast",DTZ,32400},/* Ulan Bator Summer Time */
374372
{"ulat",TZ,28800},/* Ulan Bator Time */
375-
{"undefined",RESERV,DTK_INVALID},/* pre-v6.1 invalid time */
376373
{"ut",TZ,0},
377374
{"utc",TZ,0},
378375
{"uyst",DTZ,-7200},/* Uruguay Summer Time */
@@ -440,7 +437,6 @@ static const datetkn deltatktbl[] = {
440437
{"hours",UNITS,DTK_HOUR},/* "hours" relative */
441438
{"hr",UNITS,DTK_HOUR},/* "hour" relative */
442439
{"hrs",UNITS,DTK_HOUR},/* "hours" relative */
443-
{INVALID,RESERV,DTK_INVALID},/* reserved for invalid time */
444440
{"m",UNITS,DTK_MINUTE},/* "minute" relative */
445441
{"microsecon",UNITS,DTK_MICROSEC},/* "microsecond" relative */
446442
{"mil",UNITS,DTK_MILLENNIUM},/* "millennium" relative */
@@ -471,7 +467,6 @@ static const datetkn deltatktbl[] = {
471467
{DTIMEZONE,UNITS,DTK_TZ},/* "timezone" time offset */
472468
{"timezone_h",UNITS,DTK_TZ_HOUR},/* timezone hour units */
473469
{"timezone_m",UNITS,DTK_TZ_MINUTE},/* timezone minutes units */
474-
{"undefined",RESERV,DTK_INVALID},/* pre-v6.1 invalid time */
475470
{"us",UNITS,DTK_MICROSEC},/* "microsecond" relative */
476471
{"usec",UNITS,DTK_MICROSEC},/* "microsecond" relative */
477472
{DMICROSEC,UNITS,DTK_MICROSEC},/* "microsecond" relative */

‎src/interfaces/ecpg/pgtypeslib/timestamp.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,10 +253,6 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr)
253253
TIMESTAMP_NOBEGIN(result);
254254
break;
255255

256-
caseDTK_INVALID:
257-
errno=PGTYPES_TS_BAD_TIMESTAMP;
258-
returnnoresult;
259-
260256
default:
261257
errno=PGTYPES_TS_BAD_TIMESTAMP;
262258
returnnoresult;

‎src/test/regress/expected/date.out

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1444,9 +1444,6 @@ SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity
14441444
SELECT EXTRACT(MICROSEC FROM DATE 'infinity'); -- ERROR: timestamp units "microsec" not recognized
14451445
ERROR: timestamp units "microsec" not recognized
14461446
CONTEXT: SQL function "date_part" statement 1
1447-
SELECT EXTRACT(UNDEFINED FROM DATE 'infinity'); -- ERROR: timestamp units "undefined" not supported
1448-
ERROR: timestamp units "undefined" not supported
1449-
CONTEXT: SQL function "date_part" statement 1
14501447
-- test constructors
14511448
select make_date(2013, 7, 15);
14521449
make_date

‎src/test/regress/expected/timestamp.out

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,6 @@ TRUNCATE TIMESTAMP_TBL;
7979
INSERT INTO TIMESTAMP_TBL VALUES ('-infinity');
8080
INSERT INTO TIMESTAMP_TBL VALUES ('infinity');
8181
INSERT INTO TIMESTAMP_TBL VALUES ('epoch');
82-
-- Obsolete special values
83-
INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
84-
ERROR: date/time value "invalid" is no longer supported
85-
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('invalid');
86-
^
87-
INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
88-
ERROR: date/time value "undefined" is no longer supported
89-
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('undefined');
90-
^
91-
INSERT INTO TIMESTAMP_TBL VALUES ('current');
92-
ERROR: date/time value "current" is no longer supported
93-
LINE 1: INSERT INTO TIMESTAMP_TBL VALUES ('current');
94-
^
9582
-- Postgres v6.0 standard output format
9683
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
9784
-- Variations on Postgres v6.1 standard output format

‎src/test/regress/expected/timestamptz.out

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,19 +78,6 @@ DELETE FROM TIMESTAMPTZ_TBL;
7878
INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity');
7979
INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity');
8080
INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch');
81-
-- Obsolete special values
82-
INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
83-
ERROR: date/time value "invalid" is no longer supported
84-
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('invalid');
85-
^
86-
INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
87-
ERROR: date/time value "undefined" is no longer supported
88-
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('undefined');
89-
^
90-
INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
91-
ERROR: date/time value "current" is no longer supported
92-
LINE 1: INSERT INTO TIMESTAMPTZ_TBL VALUES ('current');
93-
^
9481
-- Postgres v6.0 standard output format
9582
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
9683
-- Variations on Postgres v6.1 standard output format

‎src/test/regress/sql/date.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,6 @@ SELECT EXTRACT(EPOCH FROM DATE 'infinity'); -- Infinity
334334
-- wrong fields from non-finite date:
335335
--
336336
SELECT EXTRACT(MICROSECFROMDATE'infinity');-- ERROR: timestamp units "microsec" not recognized
337-
SELECT EXTRACT(UNDEFINEDFROMDATE'infinity');-- ERROR: timestamp units "undefined" not supported
338337

339338
-- test constructors
340339
select make_date(2013,7,15);

‎src/test/regress/sql/timestamp.sql

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ TRUNCATE TIMESTAMP_TBL;
5050
INSERT INTO TIMESTAMP_TBLVALUES ('-infinity');
5151
INSERT INTO TIMESTAMP_TBLVALUES ('infinity');
5252
INSERT INTO TIMESTAMP_TBLVALUES ('epoch');
53-
-- Obsolete special values
54-
INSERT INTO TIMESTAMP_TBLVALUES ('invalid');
55-
INSERT INTO TIMESTAMP_TBLVALUES ('undefined');
56-
INSERT INTO TIMESTAMP_TBLVALUES ('current');
5753

5854
-- Postgres v6.0 standard output format
5955
INSERT INTO TIMESTAMP_TBLVALUES ('Mon Feb 10 17:32:01 1997 PST');

‎src/test/regress/sql/timestamptz.sql

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,6 @@ DELETE FROM TIMESTAMPTZ_TBL;
4949
INSERT INTO TIMESTAMPTZ_TBLVALUES ('-infinity');
5050
INSERT INTO TIMESTAMPTZ_TBLVALUES ('infinity');
5151
INSERT INTO TIMESTAMPTZ_TBLVALUES ('epoch');
52-
-- Obsolete special values
53-
INSERT INTO TIMESTAMPTZ_TBLVALUES ('invalid');
54-
INSERT INTO TIMESTAMPTZ_TBLVALUES ('undefined');
55-
INSERT INTO TIMESTAMPTZ_TBLVALUES ('current');
5652

5753
-- Postgres v6.0 standard output format
5854
INSERT INTO TIMESTAMPTZ_TBLVALUES ('Mon Feb 10 17:32:01 1997 PST');

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp