summaryrefslogtreecommitdiffstats
path: root/sqlglot/transforms.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-07-06 07:28:12 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-07-06 07:28:12 +0000
commit374a0f6318bcf423b1b784d30b25a8327c65cb24 (patch)
tree9303a1cbdba85b5d9781ebef32eb1902d3790c99 /sqlglot/transforms.py
parentReleasing debian version 16.7.7-1. (diff)
downloadsqlglot-374a0f6318bcf423b1b784d30b25a8327c65cb24.tar.xz
sqlglot-374a0f6318bcf423b1b784d30b25a8327c65cb24.zip
Merging upstream version 17.2.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/transforms.py')
-rw-r--r--sqlglot/transforms.py23
1 files changed, 3 insertions, 20 deletions
diff --git a/sqlglot/transforms.py b/sqlglot/transforms.py
index 33a1bc0..1e6cfc8 100644
--- a/sqlglot/transforms.py
+++ b/sqlglot/transforms.py
@@ -124,7 +124,9 @@ def remove_precision_parameterized_types(expression: exp.Expression) -> exp.Expr
other expressions. This transforms removes the precision from parameterized types in expressions.
"""
for node in expression.find_all(exp.DataType):
- node.set("expressions", [e for e in node.expressions if isinstance(e, exp.DataType)])
+ node.set(
+ "expressions", [e for e in node.expressions if not isinstance(e, exp.DataTypeSize)]
+ )
return expression
@@ -215,25 +217,6 @@ def explode_to_unnest(expression: exp.Expression) -> exp.Expression:
return expression
-def remove_target_from_merge(expression: exp.Expression) -> exp.Expression:
- """Remove table refs from columns in when statements."""
- if isinstance(expression, exp.Merge):
- alias = expression.this.args.get("alias")
- targets = {expression.this.this}
- if alias:
- targets.add(alias.this)
-
- for when in expression.expressions:
- when.transform(
- lambda node: exp.column(node.name)
- if isinstance(node, exp.Column) and node.args.get("table") in targets
- else node,
- copy=False,
- )
-
- return expression
-
-
def remove_within_group_for_percentiles(expression: exp.Expression) -> exp.Expression:
if (
isinstance(expression, exp.WithinGroup)