diff options
Diffstat (limited to '')
-rw-r--r-- | sqlglot/transforms.py | 23 |
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) |