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

Commite97fe98

Browse files
author
Michael Meskes
committed
synced preproc.y with gram.y
1 parent6ec5eaa commite97fe98

File tree

2 files changed

+47
-18
lines changed

2 files changed

+47
-18
lines changed

‎src/interfaces/ecpg/ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,5 +1138,9 @@ Thu Oct 18 12:57:04 CEST 2001
11381138
Fri Oct 19 16:32:06 CEST 2001
11391139

11401140
- Removed "not yet fully implemented" warnig for nullif.
1141+
1142+
Sun Oct 21 14:19:42 CEST 2001
1143+
1144+
- Synced preproc.y with gram.y.
11411145
- Set ecpg version to 2.9.0.
11421146
- Set library version to 3.3.0.

‎src/interfaces/ecpg/preproc/preproc.y

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,21 @@ opt_boolean: TRUE_P { $$ = make_str("true"); }
833833
|OFF{$$ = make_str("off"); }
834834
;
835835

836-
zone_value:StringConst{$$ =$1; }
836+
/* Timezone values can be:
837+
* - a string such as 'pst8pdt'
838+
* - an integer or floating point number
839+
* - a time interval per SQL99
840+
*/
841+
zone_value:StringConst{$$ =$1; }
842+
|ConstIntervalStringConstopt_interval
843+
{
844+
$$ = cat_str(3,$1,$2,$3);
845+
}
846+
|ConstInterval'('PosIntConst')'StringConstopt_interval
847+
{
848+
$$ = cat_str(6,$1, make_str("("),$3, make_str(")"),$5,$6);
849+
}
850+
|NumConst{$$ =$1; }
837851
|DEFAULT{$$ = make_str("default"); }
838852
|LOCAL{$$ = make_str("local"); }
839853
;
@@ -844,7 +858,7 @@ opt_encoding:StringConst { $$ = $1; }
844858
;
845859

846860
ColId_or_Sconst:ColId{$$ =$1; }
847-
|SCONST{$$ =$1; }
861+
|StringConst{$$ =$1; }
848862
;
849863

850864
VariableShowStmt:SHOWColId
@@ -2950,8 +2964,9 @@ Iresult:PosIntConst{ $$ = atol($1); }
29502964
|Iresult'%'Iresult{$$ =$1 %$3; }
29512965
;
29522966

2953-
SimpleTypename:ConstTypename{$$ =$1; }
2954-
|ConstInterval{$$ =$1; }
2967+
SimpleTypename:ConstTypename{$$ =$1; }
2968+
|ConstIntervalopt_interval{$$ = cat2_str($1,$2); }
2969+
|ConstInterval'('PosIntConst')'opt_interval{$$ = cat_str(5,$1, make_str("("),$3, make_str(")"),$5); }
29552970
;
29562971

29572972
ConstTypename:Generic{$$ =$1; }
@@ -3120,9 +3135,9 @@ ConstDatetime: datetime
31203135
}
31213136
;
31223137

3123-
ConstInterval:INTERVALopt_interval
3138+
ConstInterval:INTERVAL
31243139
{
3125-
$$ =cat2_str(make_str("interval"),$2);
3140+
$$ = make_str("interval");
31263141
}
31273142
;
31283143

@@ -3139,15 +3154,20 @@ opt_timezone: WITH TIME ZONE{ $$ = make_str("with time zone"); }
31393154
|/*EMPTY*/{$$ = EMPTY; }
31403155
;
31413156

3142-
opt_interval:datetime{$$ =$1; }
3143-
|YEAR_PTOMONTH_P{$$ = make_str("year to #month"); }
3144-
|DAY_PTOHOUR_P{$$ = make_str("day to hour"); }
3145-
|DAY_PTOMINUTE_P{$$ = make_str("day to minute"); }
3146-
|DAY_PTOSECOND_P{$$ = make_str("day to second"); }
3147-
|HOUR_PTOMINUTE_P{$$ = make_str("hour to minute"); }
3148-
|MINUTE_PTOSECOND_P{$$ = make_str("minute to second"); }
3149-
|HOUR_PTOSECOND_P{$$ = make_str("hour to second"); }
3150-
|/*EMPTY*/{$$ = EMPTY; }
3157+
opt_interval:YEAR_P{$$ = make_str("year"); }
3158+
|MONTH_P{$$ = make_str("month"); }
3159+
|DAY_P{$$ = make_str("day"); }
3160+
|HOUR_P{$$ = make_str("hour"); }
3161+
|MINUTE_P{$$ = make_str("minute"); }
3162+
|SECOND_P{$$ = make_str("second"); }
3163+
|YEAR_PTOMONTH_P{$$ = make_str("year to month"); }
3164+
|DAY_PTOHOUR_P{$$ = make_str("day to hour"); }
3165+
|DAY_PTOMINUTE_P{$$ = make_str("day to minute"); }
3166+
|DAY_PTOSECOND_P{$$ = make_str("day to second"); }
3167+
|HOUR_PTOMINUTE_P{$$ = make_str("hour to minute"); }
3168+
|MINUTE_PTOSECOND_P{$$ = make_str("minute to second"); }
3169+
|HOUR_PTOSECOND_P{$$ = make_str("hour to second"); }
3170+
|/*EMPTY*/{$$ = EMPTY; }
31513171
;
31523172

31533173

@@ -3523,7 +3543,7 @@ extract_list: extract_arg FROM a_expr
35233543
*/
35243544

35253545
extract_arg:datetime{$$ =$1; }
3526-
|SCONST{$$ =$1; }
3546+
|StringConst{$$ =$1; }
35273547
|IDENT{$$ =$1; }
35283548
;
35293549

@@ -3761,6 +3781,10 @@ AexprConst: PosAllConst
37613781
{
37623782
$$ = cat_str(3,$1,$2,$3);
37633783
}
3784+
|ConstInterval'('PosIntConst')'StringConstopt_interval
3785+
{
3786+
$$ = cat_str(6,$1, make_str("("),$3, make_str(")"),$5,$6);
3787+
}
37643788
|ParamNo
37653789
{$$ =$1; }
37663790
|TRUE_P
@@ -5081,7 +5105,6 @@ ECPGColId: ident{ $$ = $1; }
50815105
|TYPE_P{$$ = make_str("type"); }
50825106
|datetime{$$ =$1; }
50835107
|TokenId{$$ =$1; }
5084-
|INTERVAL{$$ = make_str("interval"); }
50855108
|NATIONAL{$$ = make_str("national"); }
50865109
|NONE{$$ = make_str("none"); }
50875110
|PATH_P{$$ = make_str("path_p"); }
@@ -5140,11 +5163,13 @@ ECPGColLabel: ECPGColId{ $$ = $1; }
51405163
|GROUP{$$ = make_str("group"); }
51415164
|HAVING{$$ = make_str("having"); }
51425165
|ILIKE{$$ = make_str("ilike"); }
5166+
|IN{$$ = make_str("in"); }
51435167
|INITIALLY{$$ = make_str("initially"); }
51445168
|INNER_P{$$ = make_str("inner"); }
5169+
|INOUT {$$ = make_str("inout"); }
51455170
|INTERSECT{$$ = make_str("intersect"); }
5171+
|INTERVAL{$$ = make_str("interval"); }
51465172
|INTO{$$ = make_str("into"); }
5147-
|INOUT{$$ = make_str("inout"); }
51485173
|JOIN{$$ = make_str("join"); }
51495174
|LEADING{$$ = make_str("leading"); }
51505175
|LEFT{$$ = make_str("left"); }

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp