Skip to content

Commit ef6634c

Browse files
committed
refactor(sql-compiler): pull up argmin and argmax into the base compiler
1 parent 9b7a377 commit ef6634c

File tree

9 files changed

+16
-2
lines changed

9 files changed

+16
-2
lines changed

ibis/backends/sql/compilers/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ class SQLGlotCompiler(abc.ABC):
323323
ops.ArrayLength: "array_size",
324324
ops.ArraySort: "array_sort",
325325
ops.ArrayStringJoin: "array_to_string",
326+
ops.ArgMax: "max_by",
327+
ops.ArgMin: "min_by",
326328
ops.Asin: "asin",
327329
ops.Atan2: "atan2",
328330
ops.Atan: "atan",

ibis/backends/sql/compilers/druid.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ class DruidCompiler(SQLGlotCompiler):
3333
ops.ArraySort,
3434
ops.ArrayUnion,
3535
ops.ArrayZip,
36+
ops.ArgMax,
37+
ops.ArgMin,
3638
ops.CountDistinctStar,
3739
ops.Covariance,
3840
ops.Date,

ibis/backends/sql/compilers/exasol.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ class ExasolCompiler(SQLGlotCompiler):
4141
ops.ArrayStringJoin,
4242
ops.ArrayUnion,
4343
ops.ArrayZip,
44+
ops.ArgMax,
45+
ops.ArgMin,
4446
ops.BitwiseNot,
4547
ops.CumeDist,
4648
ops.DateAdd,

ibis/backends/sql/compilers/flink.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ class FlinkCompiler(SQLGlotCompiler):
7171
ops.ApproxMedian,
7272
ops.ArrayFlatten,
7373
ops.ArrayStringJoin,
74+
ops.ArgMax,
75+
ops.ArgMin,
7476
ops.Correlation,
7577
ops.CountDistinctStar,
7678
ops.Covariance,

ibis/backends/sql/compilers/impala.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ class ImpalaCompiler(SQLGlotCompiler):
3232
UNSUPPORTED_OPS = (
3333
ops.ArrayPosition,
3434
ops.Array,
35+
ops.ArgMax,
36+
ops.ArgMin,
3537
ops.Covariance,
3638
ops.ExtractDayOfYear,
3739
ops.Levenshtein,

ibis/backends/sql/compilers/mssql.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ class MSSQLCompiler(SQLGlotCompiler):
9090
ops.ArrayMap,
9191
ops.ArraySort,
9292
ops.ArrayUnion,
93+
ops.ArgMax,
94+
ops.ArgMin,
9395
ops.BitAnd,
9496
ops.BitOr,
9597
ops.BitXor,

ibis/backends/sql/compilers/mysql.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ def POS_INF(self):
6868
ops.Array,
6969
ops.ArrayFlatten,
7070
ops.ArrayMap,
71+
ops.ArgMax,
72+
ops.ArgMin,
7173
ops.Covariance,
7274
ops.Levenshtein,
7375
ops.Median,

ibis/backends/sql/compilers/oracle.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ class OracleCompiler(SQLGlotCompiler):
5555
ops.ArrayFlatten,
5656
ops.ArrayMap,
5757
ops.ArrayStringJoin,
58+
ops.ArgMax,
59+
ops.ArgMin,
5860
ops.MultiQuantile,
5961
ops.RegexSplit,
6062
ops.StringSplit,

ibis/backends/sql/compilers/snowflake.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,6 @@ class SnowflakeCompiler(SQLGlotCompiler):
111111
SIMPLE_OPS = {
112112
ops.All: "min",
113113
ops.Any: "max",
114-
ops.ArgMax: "max_by",
115-
ops.ArgMin: "min_by",
116114
ops.ArrayDistinct: "array_distinct",
117115
ops.ArrayFlatten: "array_flatten",
118116
ops.ArrayIndex: "get",

0 commit comments

Comments
 (0)