Skip to content

Commit aeb68b2

Browse files
authored
Fix(spark): make_interval week (#6612)
1 parent d8f0bbd commit aeb68b2

File tree

5 files changed

+5
-1
lines changed

5 files changed

+5
-1
lines changed

sqlglot/dialects/bigquery.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ def _parse_unnest(self, with_alias: bool = True) -> t.Optional[exp.Unnest]:
959959
def _parse_make_interval(self) -> exp.MakeInterval:
960960
expr = exp.MakeInterval()
961961

962-
for arg_key in expr.arg_types:
962+
for arg_key in ["year", "month", "day", "hour", "minute", "second"]:
963963
value = self._parse_lambda()
964964

965965
if not value:

sqlglot/expressions.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6591,6 +6591,7 @@ class MakeInterval(Func):
65916591
arg_types = {
65926592
"year": False,
65936593
"month": False,
6594+
"week": False,
65946595
"day": False,
65956596
"hour": False,
65966597
"minute": False,

tests/dialects/test_bigquery.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ def test_bigquery(self):
175175
self.validate_identity("BEGIN DECLARE y INT64", check_command_warning=True)
176176
self.validate_identity("LOOP SET x = x + 1", check_command_warning=True)
177177
self.validate_identity("REPEAT SET x = x + 1", check_command_warning=True)
178+
self.validate_identity("SELECT MAKE_INTERVAL(100, 11, 1, 12, 30, 10)")
178179
self.validate_identity(
179180
"WHILE i < ARRAY_LENGTH(batches) DO SET x = batches[OFFSET(i)]",
180181
check_command_warning=True,

tests/dialects/test_databricks.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,7 @@ def test_databricks(self):
241241
self.validate_identity("CURRENT_TIMEZONE()")
242242
self.validate_identity("CURDATE()", "CURRENT_DATE")
243243
self.validate_identity("CURDATE", "CURRENT_DATE")
244+
self.validate_identity("SELECT MAKE_INTERVAL(100, 11, 12, 13, 14, 14, 15)")
244245

245246
# https://docs.databricks.com/sql/language-manual/functions/colonsign.html
246247
def test_json(self):

tests/dialects/test_spark.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -928,6 +928,7 @@ def test_spark(self):
928928
)
929929
self.validate_identity("BITMAP_OR_AGG(x)")
930930
self.validate_identity("SELECT ELT(2, 'foo', 'bar', 'baz') AS Result")
931+
self.validate_identity("SELECT MAKE_INTERVAL(100, 11, 12, 13, 14, 14, 15)")
931932

932933
def test_bool_or(self):
933934
self.validate_all(

0 commit comments

Comments
 (0)