Skip to content

Commit 67f499d

Browse files
authored
fix(duckdb): Make exp.DateFromParts more lenient (#6397)
1 parent 21d3859 commit 67f499d

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

sqlglot/expressions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6493,7 +6493,7 @@ class TimeTrunc(Func, TimeUnit):
64936493

64946494
class DateFromParts(Func):
64956495
_sql_names = ["DATE_FROM_PARTS", "DATEFROMPARTS"]
6496-
arg_types = {"year": True, "month": True, "day": True}
6496+
arg_types = {"year": True, "month": False, "day": False}
64976497

64986498

64996499
class TimeFromParts(Func):

tests/dialects/test_duckdb.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,9 @@ def test_duckdb(self):
12401240
)
12411241
self.validate_identity("SELECT GREATEST(1.0, 2.5, NULL, 3.7)")
12421242

1243+
# TODO: This is incorrect AST, DATE_PART creates a STRUCT of values but it's stored in 'year' arg
1244+
self.validate_identity("SELECT MAKE_DATE(DATE_PART(['year', 'month', 'day'], TODAY()))")
1245+
12431246
def test_array_index(self):
12441247
with self.assertLogs(helper_logger) as cm:
12451248
self.validate_all(

0 commit comments

Comments
 (0)