Skip to content

Commit cec8dd6

Browse files
committed
Use separate node type for LOCAL keyword in SET TIME ZONE LOCAL
1 parent 0a99ef6 commit cec8dd6

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

src/cst/Parameter.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export type AllParameterNodes =
88
| SetParameterClause
99
| SetParameterFromCurrentClause
1010
| ResetParameterClause
11-
| AllParameters;
11+
| AllParameters
12+
| LocalParameterValue;
1213

1314
export type AllParameterStatements =
1415
| SetParameterStmt
@@ -31,7 +32,7 @@ export interface SetTimeZoneParameterStmt extends BaseNode {
3132
setKw: Keyword<"SET">;
3233
modifierKw?: Keyword<"LOCAL" | "SESSION">;
3334
timeZoneKw: [Keyword<"TIME">, Keyword<"ZONE">];
34-
value: Default | Keyword<"LOCAL"> | Expr;
35+
value: Default | LocalParameterValue | Expr;
3536
}
3637

3738
export interface ResetParameterStmt extends BaseNode {
@@ -71,3 +72,8 @@ export interface AllParameters extends BaseNode {
7172
type: "all_parameters";
7273
allKw: Keyword<"ALL">;
7374
}
75+
76+
export interface LocalParameterValue extends BaseNode {
77+
type: "local_parameter_value";
78+
localKw: Keyword<"LOCAL">;
79+
}

src/parser.pegjs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5944,7 +5944,7 @@ config_parameter_value
59445944
= literal / default / ident
59455945

59465946
set_time_zone_parameter_stmt
5947-
= kw:(SET __) modifierKw:((LOCAL / SESSION) __)? timeZoneKw:(TIME __ ZONE __) value:(default / LOCAL / expr) {
5947+
= kw:(SET __) modifierKw:((LOCAL / SESSION) __)? timeZoneKw:(TIME __ ZONE __) value:(default / local_parameter_value / expr) {
59485948
return loc({
59495949
type: "set_time_zone_parameter_stmt",
59505950
setKw: read(kw),
@@ -5954,6 +5954,11 @@ set_time_zone_parameter_stmt
59545954
});
59555955
}
59565956

5957+
local_parameter_value
5958+
= kw:LOCAL {
5959+
return loc({ type: "local_parameter_value", localKw: kw });
5960+
}
5961+
59575962
set_parameter_from_current_clause
59585963
= kw:(SET __) name:ident fromCurrentKw:(__ FROM __ CURRENT) {
59595964
return loc({

src/showNode/parameter.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@ export const parameterMap: FullTransformMap<string, AllParameterNodes> = {
1515
show([node.setKw, node.name, node.fromCurrentKw]),
1616
reset_parameter_clause: (node) => show([node.resetKw, node.name]),
1717
all_parameters: (node) => show([node.allKw]),
18+
local_parameter_value: (node) => show([node.localKw]),
1819
};

0 commit comments

Comments
 (0)