This is an automated email from the ASF dual-hosted git repository.
csy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/auron.git
The following commit(s) were added to refs/heads/master by this push:
new 9df46caf [AURON #2050] Support UnaryMinus expression (#2051)
9df46caf is described below
commit 9df46cafa6e51000c2910889bc21c8de31693dd1
Author: yew1eb <[email protected]>
AuthorDate: Thu Mar 5 12:57:04 2026 +0800
[AURON #2050] Support UnaryMinus expression (#2051)
# Which issue does this PR close?
Closes #2050
# Rationale for this change
# What changes are included in this PR?
# Are there any user-facing changes?
# How was this patch tested?
---
.../src/test/scala/org/apache/auron/AuronExpressionSuite.scala | 9 +++++++++
.../main/scala/org/apache/spark/sql/auron/NativeConverters.scala | 8 ++++++++
2 files changed, 17 insertions(+)
diff --git
a/spark-extension-shims-spark/src/test/scala/org/apache/auron/AuronExpressionSuite.scala
b/spark-extension-shims-spark/src/test/scala/org/apache/auron/AuronExpressionSuite.scala
index 4bfc4f28..303a0d36 100644
---
a/spark-extension-shims-spark/src/test/scala/org/apache/auron/AuronExpressionSuite.scala
+++
b/spark-extension-shims-spark/src/test/scala/org/apache/auron/AuronExpressionSuite.scala
@@ -31,4 +31,13 @@ class AuronExpressionSuite extends AuronQueryTest with
BaseAuronSQLSuite {
"SELECT id <=> 2, id <=> null, flag <=> false, flag <=> null FROM t1
WHERE NOT flag <=> true")
}
}
+
+ test("UnaryMinus") {
+ withTable("t1") {
+ sql("create table t1(col1 int) using parquet")
+ sql(
+ "insert into t1 values(1), (2), (3), (3), (-1), (0), (null),
(2147483647), (-2147483648)")
+ checkSparkAnswerAndOperator("SELECT negative(col1), -(col1) FROM t1")
+ }
+ }
}
diff --git
a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
index 5bc9302f..df5c0732 100644
---
a/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
+++
b/spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeConverters.scala
@@ -544,6 +544,14 @@ object NativeConverters extends Logging {
.setExpr(convertExprWithFallback(child, isPruningExpr, fallback))
.build())
}
+ case unaryMinus: UnaryMinus =>
+ buildExprNode {
+ _.setNegative(
+ pb.PhysicalNegativeNode
+ .newBuilder()
+ .setExpr(convertExprWithFallback(unaryMinus.child,
isPruningExpr, fallback))
+ .build())
+ }
// binary ops
case EqualTo(lhs, rhs) => buildBinaryExprNode(lhs, rhs, "Eq")