This is an automated email from the ASF dual-hosted git repository.

mbutrovich pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git


The following commit(s) were added to refs/heads/main by this push:
     new 0a0897af6 fix: missing SortOrder fallback reason in range partitioning 
(#2716)
0a0897af6 is described below

commit 0a0897af619ac824000303301e69c32c9f2a9bd5
Author: Andy Grove <[email protected]>
AuthorDate: Thu Nov 6 14:37:45 2025 -0700

    fix: missing SortOrder fallback reason in range partitioning (#2716)
---
 spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala  | 2 +-
 spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala | 6 ++++--
 spark/src/test/scala/org/apache/spark/sql/CometTestBase.scala    | 7 +++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala 
b/spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala
index 52bbc07dc..666241135 100644
--- a/spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala
+++ b/spark/src/main/scala/org/apache/comet/rules/CometExecRule.scala
@@ -887,7 +887,7 @@ case class CometExecRule(session: SparkSession) extends 
Rule[SparkPlan] {
         var supported = true
         for (o <- orderings) {
           if (QueryPlanSerde.exprToProto(o, inputs).isEmpty) {
-            withInfo(s, s"unsupported range partitioning sort order: $o")
+            withInfo(s, s"unsupported range partitioning sort order: $o", o)
             supported = false
             // We don't short-circuit in case there is more than one 
unsupported expression
             // to provide info for.
diff --git a/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala 
b/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
index d50274938..e5d2b395a 100644
--- a/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
+++ b/spark/src/test/scala/org/apache/comet/CometExpressionSuite.scala
@@ -74,9 +74,11 @@ class CometExpressionSuite extends CometTestBase with 
AdaptiveSparkPlanHelper {
     df.createOrReplaceTempView("tbl")
 
     withSQLConf(CometConf.getExprAllowIncompatConfigKey("SortOrder") -> 
"false") {
-      checkSparkAnswerAndFallbackReason(
+      checkSparkAnswerAndFallbackReasons(
         "select * from tbl order by 1, 2",
-        "unsupported range partitioning sort order")
+        Set(
+          "unsupported range partitioning sort order",
+          "Sorting on floating-point is not 100% compatible with Spark"))
     }
   }
 
diff --git a/spark/src/test/scala/org/apache/spark/sql/CometTestBase.scala 
b/spark/src/test/scala/org/apache/spark/sql/CometTestBase.scala
index 1854edf59..fbb5956f8 100644
--- a/spark/src/test/scala/org/apache/spark/sql/CometTestBase.scala
+++ b/spark/src/test/scala/org/apache/spark/sql/CometTestBase.scala
@@ -271,6 +271,13 @@ abstract class CometTestBase
     checkSparkAnswerAndFallbackReasons(df, Set(fallbackReason))
   }
 
+  /** Check for the correct results as well as the expected fallback reasons */
+  protected def checkSparkAnswerAndFallbackReasons(
+      query: String,
+      fallbackReasons: Set[String]): (SparkPlan, SparkPlan) = {
+    checkSparkAnswerAndFallbackReasons(sql(query), fallbackReasons)
+  }
+
   /** Check for the correct results as well as the expected fallback reasons */
   protected def checkSparkAnswerAndFallbackReasons(
       df: => DataFrame,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to