Adding upstream version 10.5.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
63044b3f6c
commit
b97d49f611
58 changed files with 1480 additions and 383 deletions
|
@ -82,6 +82,27 @@ def eliminate_distinct_on(expression: exp.Expression) -> exp.Expression:
|
|||
return expression
|
||||
|
||||
|
||||
def remove_precision_parameterized_types(expression: exp.Expression) -> exp.Expression:
|
||||
"""
|
||||
Some dialects only allow the precision for parameterized types to be defined in the DDL and not in other expressions.
|
||||
This transforms removes the precision from parameterized types in expressions.
|
||||
"""
|
||||
return expression.transform(
|
||||
lambda node: exp.DataType(
|
||||
**{
|
||||
**node.args,
|
||||
"expressions": [
|
||||
node_expression
|
||||
for node_expression in node.expressions
|
||||
if isinstance(node_expression, exp.DataType)
|
||||
],
|
||||
}
|
||||
)
|
||||
if isinstance(node, exp.DataType)
|
||||
else node,
|
||||
)
|
||||
|
||||
|
||||
def preprocess(
|
||||
transforms: t.List[t.Callable[[exp.Expression], exp.Expression]],
|
||||
to_sql: t.Callable[[Generator, exp.Expression], str],
|
||||
|
@ -121,3 +142,6 @@ def delegate(attr: str) -> t.Callable:
|
|||
|
||||
UNALIAS_GROUP = {exp.Group: preprocess([unalias_group], delegate("group_sql"))}
|
||||
ELIMINATE_DISTINCT_ON = {exp.Select: preprocess([eliminate_distinct_on], delegate("select_sql"))}
|
||||
REMOVE_PRECISION_PARAMETERIZED_TYPES = {
|
||||
exp.Cast: preprocess([remove_precision_parameterized_types], delegate("cast_sql"))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue