diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-03 09:12:24 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2023-05-03 09:12:24 +0000 |
commit | 98d5537435b2951b36c45f1fda667fa27c165794 (patch) | |
tree | d26b4dfa6cf91847100fe10a94a04dcc2ad36a86 /sqlglot/dialects/databricks.py | |
parent | Adding upstream version 11.5.2. (diff) | |
download | sqlglot-091f07175e8b976fcf301fe4832c1b7e0bc4eef0.tar.xz sqlglot-091f07175e8b976fcf301fe4832c1b7e0bc4eef0.zip |
Adding upstream version 11.7.1.upstream/11.7.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/dialects/databricks.py')
-rw-r--r-- | sqlglot/dialects/databricks.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sqlglot/dialects/databricks.py b/sqlglot/dialects/databricks.py index 2f93ee7..138f26c 100644 --- a/sqlglot/dialects/databricks.py +++ b/sqlglot/dialects/databricks.py @@ -9,6 +9,8 @@ from sqlglot.tokens import TokenType class Databricks(Spark): class Parser(Spark.Parser): + LOG_DEFAULTS_TO_LN = True + FUNCTIONS = { **Spark.Parser.FUNCTIONS, "DATEADD": parse_date_delta(exp.DateAdd), @@ -16,13 +18,17 @@ class Databricks(Spark): "DATEDIFF": parse_date_delta(exp.DateDiff), } - LOG_DEFAULTS_TO_LN = True + FACTOR = { + **Spark.Parser.FACTOR, + TokenType.COLON: exp.JSONExtract, + } class Generator(Spark.Generator): TRANSFORMS = { **Spark.Generator.TRANSFORMS, # type: ignore exp.DateAdd: generate_date_delta_with_unit_sql, exp.DateDiff: generate_date_delta_with_unit_sql, + exp.JSONExtract: lambda self, e: self.binary(e, ":"), exp.ToChar: lambda self, e: self.function_fallback_sql(e), } TRANSFORMS.pop(exp.Select) # Remove the ELIMINATE_QUALIFY transformation |