mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-01 13:48:04 +00:00
* Added excaping character for modulo function * Fixed MSSQL Median computation Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
This commit is contained in:
parent
d097199d2f
commit
5d584731ed
@ -54,6 +54,13 @@ def _(elements, compiler, **kwargs):
|
||||
return "approx_percentile(%s, 0.5)" % col
|
||||
|
||||
|
||||
@compiles(MedianFn, Dialects.MSSQL)
|
||||
def _(elements, compiler, **kwargs):
|
||||
"""Median computation for MSSQL"""
|
||||
col, _ = [compiler.process(element, **kwargs) for element in elements.clauses]
|
||||
return "percentile_cont(0.5) WITHIN GROUP (ORDER BY %s ASC) OVER()" % col
|
||||
|
||||
|
||||
@compiles(MedianFn, Dialects.SQLite)
|
||||
def _(elements, compiler, **kwargs):
|
||||
col, table = [element for element in elements.clauses]
|
||||
|
@ -42,13 +42,7 @@ def validate_and_compile(element, compiler, **kw):
|
||||
|
||||
@compiles(ModuloFn)
|
||||
def _(element, compiler, **kw):
|
||||
|
||||
value, base = validate_and_compile(element, compiler, **kw)
|
||||
return f"{value} % {base}"
|
||||
|
||||
|
||||
@compiles(ModuloFn, Dialects.MSSQL)
|
||||
def _(element, compiler, **kw):
|
||||
"""Generic modulo function"""
|
||||
value, base = validate_and_compile(element, compiler, **kw)
|
||||
return f"{value} %% {base}"
|
||||
|
||||
@ -62,7 +56,7 @@ def _(element, compiler, **kw):
|
||||
@compiles(ModuloFn, Dialects.Oracle)
|
||||
@compiles(ModuloFn, Dialects.Presto)
|
||||
def _(element, compiler, **kw):
|
||||
|
||||
"""Modulo function for specific dialect"""
|
||||
value, base = validate_and_compile(element, compiler, **kw)
|
||||
return f"MOD({value}, {base})"
|
||||
|
||||
@ -72,3 +66,10 @@ def _(element, compiler, **kw):
|
||||
"""Handles modulo function for ClickHouse"""
|
||||
value, base = validate_and_compile(element, compiler, **kw)
|
||||
return f"modulo({value}, {base})"
|
||||
|
||||
|
||||
@compiles(ModuloFn, Dialects.SQLite)
|
||||
def _(element, compiler, **kw):
|
||||
"""SQLite modulo function"""
|
||||
value, base = validate_and_compile(element, compiler, **kw)
|
||||
return f"{value} % {base}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user