diff options
Diffstat (limited to 'sqlglot/dialects/databricks.py')
-rw-r--r-- | sqlglot/dialects/databricks.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sqlglot/dialects/databricks.py b/sqlglot/dialects/databricks.py index 138f26c..51112a0 100644 --- a/sqlglot/dialects/databricks.py +++ b/sqlglot/dialects/databricks.py @@ -1,6 +1,6 @@ from __future__ import annotations -from sqlglot import exp +from sqlglot import exp, transforms from sqlglot.dialects.dialect import parse_date_delta from sqlglot.dialects.spark import Spark from sqlglot.dialects.tsql import generate_date_delta_with_unit_sql @@ -29,13 +29,20 @@ class Databricks(Spark): 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.Select: transforms.preprocess( + [ + transforms.eliminate_distinct_on, + transforms.unnest_to_explode, + ] + ), exp.ToChar: lambda self, e: self.function_fallback_sql(e), } - TRANSFORMS.pop(exp.Select) # Remove the ELIMINATE_QUALIFY transformation PARAMETER_TOKEN = "$" class Tokenizer(Spark.Tokenizer): + HEX_STRINGS = [] + SINGLE_TOKENS = { **Spark.Tokenizer.SINGLE_TOKENS, "$": TokenType.PARAMETER, |