summaryrefslogtreecommitdiffstats
path: root/sqlglot/transforms.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-09-07 11:39:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-09-07 11:39:43 +0000
commit341eb1a6bdf0dd5b015e5140d3b068c6fd3f4d87 (patch)
tree61fb7eca2238fb5d41d3906f4af41de03abd25ea /sqlglot/transforms.py
parentAdding upstream version 17.12.0. (diff)
downloadsqlglot-341eb1a6bdf0dd5b015e5140d3b068c6fd3f4d87.tar.xz
sqlglot-341eb1a6bdf0dd5b015e5140d3b068c6fd3f4d87.zip
Adding upstream version 18.2.0.upstream/18.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/transforms.py')
-rw-r--r--sqlglot/transforms.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/sqlglot/transforms.py b/sqlglot/transforms.py
index 7c7c2a7..48ea8dc 100644
--- a/sqlglot/transforms.py
+++ b/sqlglot/transforms.py
@@ -68,11 +68,17 @@ def eliminate_distinct_on(expression: exp.Expression) -> exp.Expression:
if order:
window.set("order", order.pop().copy())
+ else:
+ window.set("order", exp.Order(expressions=[c.copy() for c in distinct_cols]))
window = exp.alias_(window, row_number)
expression.select(window, copy=False)
- return exp.select(*outer_selects).from_(expression.subquery()).where(f'"{row_number}" = 1')
+ return (
+ exp.select(*outer_selects)
+ .from_(expression.subquery())
+ .where(exp.column(row_number).eq(1))
+ )
return expression
@@ -126,7 +132,7 @@ def remove_precision_parameterized_types(expression: exp.Expression) -> exp.Expr
"""
for node in expression.find_all(exp.DataType):
node.set(
- "expressions", [e for e in node.expressions if not isinstance(e, exp.DataTypeSize)]
+ "expressions", [e for e in node.expressions if not isinstance(e, exp.DataTypeParam)]
)
return expression