From 924df2e3c86227ec8e8d0d36b0344277fdaa5bdc Mon Sep 17 00:00:00 2001 From: comphead Date: Thu, 12 Feb 2026 08:50:27 -0800 Subject: [PATCH] Df52 migration - ignore `width_bucket` --- .../org/apache/comet/shims/CometExprShim.scala | 13 +++++++++---- .../org/apache/comet/shims/CometExprShim.scala | 11 ++++++++--- .../org/apache/comet/CometMathExpressionSuite.scala | 12 ++++++++---- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/spark/src/main/spark-3.5/org/apache/comet/shims/CometExprShim.scala b/spark/src/main/spark-3.5/org/apache/comet/shims/CometExprShim.scala index d9b80ab488..24be4377c5 100644 --- a/spark/src/main/spark-3.5/org/apache/comet/shims/CometExprShim.scala +++ b/spark/src/main/spark-3.5/org/apache/comet/shims/CometExprShim.scala @@ -26,7 +26,7 @@ import org.apache.comet.CometSparkSessionExtensions.withInfo import org.apache.comet.expressions.{CometCast, CometEvalMode} import org.apache.comet.serde.{CommonStringExprs, Compatible, ExprOuterClass, Incompatible} import org.apache.comet.serde.ExprOuterClass.{BinaryOutputStyle, Expr} -import org.apache.comet.serde.QueryPlanSerde.{exprToProtoInternal, optExprWithInfo, scalarFunctionExprToProto} +import org.apache.comet.serde.QueryPlanSerde.exprToProtoInternal /** * `CometExprShim` acts as a shim for parsing expressions from different Spark versions. @@ -82,9 +82,14 @@ trait CometExprShim extends CommonStringExprs { } case wb: WidthBucket => - val childExprs = wb.children.map(exprToProtoInternal(_, inputs, binding)) - val optExpr = scalarFunctionExprToProto("width_bucket", childExprs: _*) - optExprWithInfo(optExpr, wb, wb.children: _*) + withInfo( + wb, + "WidthBucket not supported, track https://github.com/apache/datafusion/issues/20320") + None +// https://github.com/apache/datafusion/issues/20320 +// val childExprs = wb.children.map(exprToProtoInternal(_, inputs, binding)) +// val optExpr = scalarFunctionExprToProto("width_bucket", childExprs: _*) +// optExprWithInfo(optExpr, wb, wb.children: _*) case _ => None } diff --git a/spark/src/main/spark-4.0/org/apache/comet/shims/CometExprShim.scala b/spark/src/main/spark-4.0/org/apache/comet/shims/CometExprShim.scala index 1d4427d159..12ea91d423 100644 --- a/spark/src/main/spark-4.0/org/apache/comet/shims/CometExprShim.scala +++ b/spark/src/main/spark-4.0/org/apache/comet/shims/CometExprShim.scala @@ -104,9 +104,14 @@ trait CometExprShim extends CommonStringExprs { } case wb: WidthBucket => - val childExprs = wb.children.map(exprToProtoInternal(_, inputs, binding)) - val optExpr = scalarFunctionExprToProto("width_bucket", childExprs: _*) - optExprWithInfo(optExpr, wb, wb.children: _*) + withInfo( + wb, + "WidthBucket not supported, track https://github.com/apache/datafusion/issues/20320") + None +// https://github.com/apache/datafusion/issues/20320 +// val childExprs = wb.children.map(exprToProtoInternal(_, inputs, binding)) +// val optExpr = scalarFunctionExprToProto("width_bucket", childExprs: _*) +// optExprWithInfo(optExpr, wb, wb.children: _*) case _ => None } diff --git a/spark/src/test/scala/org/apache/comet/CometMathExpressionSuite.scala b/spark/src/test/scala/org/apache/comet/CometMathExpressionSuite.scala index 9d27f2d25f..4ffe6ac553 100644 --- a/spark/src/test/scala/org/apache/comet/CometMathExpressionSuite.scala +++ b/spark/src/test/scala/org/apache/comet/CometMathExpressionSuite.scala @@ -92,7 +92,8 @@ class CometMathExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelpe DataGenOptions(generateNegativeZero = generateNegativeZero)) } - test("width_bucket") { + // https://github.com/apache/datafusion/issues/20320 + ignore("width_bucket") { assume(isSpark35Plus, "width_bucket was added in Spark 3.5") withSQLConf("spark.comet.exec.localTableScan.enabled" -> "true") { spark @@ -105,7 +106,8 @@ class CometMathExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelpe } } - test("width_bucket - edge cases") { + // https://github.com/apache/datafusion/issues/20320 + ignore("width_bucket - edge cases") { assume(isSpark35Plus, "width_bucket was added in Spark 3.5") withSQLConf("spark.comet.exec.localTableScan.enabled" -> "true") { spark @@ -122,7 +124,8 @@ class CometMathExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelpe } } - test("width_bucket - NaN values") { + // https://github.com/apache/datafusion/issues/20320 + ignore("width_bucket - NaN values") { assume(isSpark35Plus, "width_bucket was added in Spark 3.5") withSQLConf("spark.comet.exec.localTableScan.enabled" -> "true") { spark @@ -134,7 +137,8 @@ class CometMathExpressionSuite extends CometTestBase with AdaptiveSparkPlanHelpe } } - test("width_bucket - with range data") { + // https://github.com/apache/datafusion/issues/20320 + ignore("width_bucket - with range data") { assume(isSpark35Plus, "width_bucket was added in Spark 3.5") withSQLConf("spark.comet.exec.localTableScan.enabled" -> "true") { spark