Skip to content

Commit ec9d01e

Browse files
committed
Done:
o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO SECOND
1 parent 5bbea03 commit ec9d01e

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

doc/TODO

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,6 @@ Data Types
225225
computations should adjust based on the time zone rules.
226226

227227
o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
228-
o Fix SELECT INTERVAL '1' MONTH
229228
o Add a GUC variable to allow output of interval values in ISO8601
230229
format
231230
o Improve timestamptz subtraction to be DST-aware
@@ -240,8 +239,9 @@ Data Types
240239
o Fix interval display to support values exceeding 2^31 hours
241240
o Add overflow checking to timestamp and interval arithmetic
242241
o Add ISO INTERVAL handling
243-
o Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
242+
o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
244243
SECOND
244+
o Fix SELECT INTERVAL '1' MONTH
245245
o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
246246
o For syntax that isn't uniquely ISO or PG syntax, like '1:30' or
247247
'1', treat as ISO if there is a range specification clause,

src/backend/parser/gram.y

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*
1212
*
1313
* IDENTIFICATION
14-
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.538 2006/04/15 17:45:34 tgl Exp $
14+
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.539 2006/04/24 22:56:11 momjian Exp $
1515
*
1616
* HISTORY
1717
* AUTHOR DATE MAJOR EVENT
@@ -1152,6 +1152,7 @@ zone_value:
11521152
A_Const *n = (A_Const *) makeStringConst($2, $1);
11531153
if ($3 != INTERVAL_FULL_RANGE)
11541154
{
1155+
ereport(LOG, (errmsg("1.0")));
11551156
if (($3 & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
11561157
ereport(ERROR,
11571158
(errcode(ERRCODE_SYNTAX_ERROR),
@@ -1163,6 +1164,7 @@ zone_value:
11631164
| ConstInterval '(' Iconst ')' Sconst opt_interval
11641165
{
11651166
A_Const *n = (A_Const *) makeStringConst($5, $1);
1167+
ereport(LOG, (errmsg("2.0")));
11661168
if ($3 < 0)
11671169
ereport(ERROR,
11681170
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -6078,12 +6080,14 @@ SimpleTypename:
60786080
| ConstDatetime { $$ = $1; }
60796081
| ConstInterval opt_interval
60806082
{
6083+
ereport(LOG, (errmsg("3.0")));
60816084
$$ = $1;
60826085
if ($2 != INTERVAL_FULL_RANGE)
60836086
$$->typmod = INTERVAL_TYPMOD(INTERVAL_FULL_PRECISION, $2);
60846087
}
60856088
| ConstInterval '(' Iconst ')' opt_interval
60866089
{
6090+
ereport(LOG, (errmsg("4.0")));
60876091
$$ = $1;
60886092
if ($3 < 0)
60896093
ereport(ERROR,
@@ -6102,6 +6106,7 @@ SimpleTypename:
61026106
}
61036107
| type_name attrs
61046108
{
6109+
ereport(LOG, (errmsg("5.0")));
61056110
$$ = makeNode(TypeName);
61066111
$$->names = lcons(makeString($1), $2);
61076112
$$->typmod = -1;
@@ -8179,6 +8184,7 @@ AexprConst: Iconst
81798184
| ConstInterval Sconst opt_interval
81808185
{
81818186
A_Const *n = makeNode(A_Const);
8187+
ereport(LOG, (errmsg("6.0")));
81828188
n->typename = $1;
81838189
n->val.type = T_String;
81848190
n->val.val.str = $2;
@@ -8190,6 +8196,7 @@ AexprConst: Iconst
81908196
| ConstInterval '(' Iconst ')' Sconst opt_interval
81918197
{
81928198
A_Const *n = makeNode(A_Const);
8199+
ereport(LOG, (errmsg("7.0")));
81938200
n->typename = $1;
81948201
n->val.type = T_String;
81958202
n->val.val.str = $5;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy