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

Commit2ceea5a

Browse files
committed
Accept "+infinity" in date and timestamp[tz] input.
The float and numeric types accept this variant spelling of"infinity", so it seems like the datetime types should too.Vik Fearing, some cosmetic mods by meDiscussion:https://postgr.es/m/d0bef637-2dbd-0a5d-e539-48243b6f6c5e@postgresfriends.org
1 parentd747dc8 commit2ceea5a

File tree

7 files changed

+25
-0
lines changed

7 files changed

+25
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ const char *const days[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
105105
*/
106106
staticconstdatetkndatetktbl[]= {
107107
/* token, type, value */
108+
{"+infinity",RESERV,DTK_LATE},/* same as "infinity" */
108109
{EARLY,RESERV,DTK_EARLY},/* "-infinity" reserved for "early time" */
109110
{DA_D,ADBC,AD},/* "ad" for years > 0 */
110111
{"allballs",RESERV,DTK_ZULU},/* 00:00:00 */

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,6 +1373,12 @@ select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'
13731373
f | f | t
13741374
(1 row)
13751375

1376+
select 'infinity'::date = '+infinity'::date as t;
1377+
t
1378+
---
1379+
t
1380+
(1 row)
1381+
13761382
--
13771383
-- oscillating fields from non-finite date:
13781384
--

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ TRUNCATE TIMESTAMP_TBL;
7676
INSERT INTO TIMESTAMP_TBL VALUES ('-infinity');
7777
INSERT INTO TIMESTAMP_TBL VALUES ('infinity');
7878
INSERT INTO TIMESTAMP_TBL VALUES ('epoch');
79+
SELECT timestamp 'infinity' = timestamp '+infinity' AS t;
80+
t
81+
---
82+
t
83+
(1 row)
84+
7985
-- Postgres v6.0 standard output format
8086
INSERT INTO TIMESTAMP_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
8187
-- Variations on Postgres v6.1 standard output format

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,12 @@ TRUNCATE TIMESTAMPTZ_TBL;
8787
INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity');
8888
INSERT INTO TIMESTAMPTZ_TBL VALUES ('infinity');
8989
INSERT INTO TIMESTAMPTZ_TBL VALUES ('epoch');
90+
SELECT timestamptz 'infinity' = timestamptz '+infinity' AS t;
91+
t
92+
---
93+
t
94+
(1 row)
95+
9096
-- Postgres v6.0 standard output format
9197
INSERT INTO TIMESTAMPTZ_TBL VALUES ('Mon Feb 10 17:32:01 1997 PST');
9298
-- Variations on Postgres v6.1 standard output format

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,8 @@ select 'infinity'::date, '-infinity'::date;
329329
select'infinity'::date>'today'::dateas t;
330330
select'-infinity'::date<'today'::dateas t;
331331
select isfinite('infinity'::date), isfinite('-infinity'::date), isfinite('today'::date);
332+
select'infinity'::date='+infinity'::dateas t;
333+
332334
--
333335
-- oscillating fields from non-finite date:
334336
--

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ INSERT INTO TIMESTAMP_TBL VALUES ('-infinity');
4949
INSERT INTO TIMESTAMP_TBLVALUES ('infinity');
5050
INSERT INTO TIMESTAMP_TBLVALUES ('epoch');
5151

52+
SELECTtimestamp'infinity'=timestamp'+infinity'AS t;
53+
5254
-- Postgres v6.0 standard output format
5355
INSERT INTO TIMESTAMP_TBLVALUES ('Mon Feb 10 17:32:01 1997 PST');
5456

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ INSERT INTO TIMESTAMPTZ_TBL VALUES ('-infinity');
5050
INSERT INTO TIMESTAMPTZ_TBLVALUES ('infinity');
5151
INSERT INTO TIMESTAMPTZ_TBLVALUES ('epoch');
5252

53+
SELECTtimestamptz'infinity'=timestamptz'+infinity'AS t;
54+
5355
-- Postgres v6.0 standard output format
5456
INSERT INTO TIMESTAMPTZ_TBLVALUES ('Mon Feb 10 17:32:01 1997 PST');
5557

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp