From 7ff5bab54e3298dd89132706f6adee17f5164f6d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 5 Nov 2022 19:41:12 +0100 Subject: Merging upstream version 9.0.6. Signed-off-by: Daniel Baumann --- sqlglot/dialects/dialect.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sqlglot/dialects/dialect.py') diff --git a/sqlglot/dialects/dialect.py b/sqlglot/dialects/dialect.py index 46661cf..33985a7 100644 --- a/sqlglot/dialects/dialect.py +++ b/sqlglot/dialects/dialect.py @@ -28,6 +28,7 @@ class Dialects(str, Enum): TABLEAU = "tableau" TRINO = "trino" TSQL = "tsql" + DATABRICKS = "databricks" class _Dialect(type): @@ -331,3 +332,15 @@ def create_with_partitions_sql(self, expression): expression.set("this", schema) return self.create_sql(expression) + + +def parse_date_delta(exp_class, unit_mapping=None): + def inner_func(args): + unit_based = len(args) == 3 + this = list_get(args, 2) if unit_based else list_get(args, 0) + expression = list_get(args, 1) if unit_based else list_get(args, 1) + unit = list_get(args, 0) if unit_based else exp.Literal.string("DAY") + unit = unit_mapping.get(unit.name.lower(), unit) if unit_mapping else unit + return exp_class(this=this, expression=expression, unit=unit) + + return inner_func -- cgit v1.2.3