Skip to content

Commit 2369195

Browse files
authored
Fix!: consistently parse INTERVAL value as a string (#4986)
1 parent fe6fdbe commit 2369195

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

sqlglot/parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ class Parser(metaclass=_Parser):
218218
"GENERATE_DATE_ARRAY": lambda args: exp.GenerateDateArray(
219219
start=seq_get(args, 0),
220220
end=seq_get(args, 1),
221-
step=seq_get(args, 2) or exp.Interval(this=exp.Literal.number(1), unit=exp.var("DAY")),
221+
step=seq_get(args, 2) or exp.Interval(this=exp.Literal.string(1), unit=exp.var("DAY")),
222222
),
223223
"GLOB": lambda args: exp.Glob(this=seq_get(args, 1), expression=seq_get(args, 0)),
224224
"HEX": build_hex,

tests/dialects/test_bigquery.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1515,8 +1515,8 @@ def test_bigquery(self):
15151515
self.validate_all(
15161516
"SELECT GENERATE_DATE_ARRAY('2016-10-05', '2016-10-08')",
15171517
write={
1518-
"duckdb": "SELECT CAST(GENERATE_SERIES(CAST('2016-10-05' AS DATE), CAST('2016-10-08' AS DATE), INTERVAL 1 DAY) AS DATE[])",
1519-
"bigquery": "SELECT GENERATE_DATE_ARRAY('2016-10-05', '2016-10-08', INTERVAL 1 DAY)",
1518+
"duckdb": "SELECT CAST(GENERATE_SERIES(CAST('2016-10-05' AS DATE), CAST('2016-10-08' AS DATE), INTERVAL '1' DAY) AS DATE[])",
1519+
"bigquery": "SELECT GENERATE_DATE_ARRAY('2016-10-05', '2016-10-08', INTERVAL '1' DAY)",
15201520
},
15211521
)
15221522
self.validate_all(

0 commit comments

Comments
 (0)