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]