You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by ag...@apache.org on 2025/06/18 21:15:31 UTC
(datafusion-comet) branch main updated: Avoid rewriting join to unsupported join (#1888)
This is an automated email from the ASF dual-hosted git repository.
agrove 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 9947e8867 Avoid rewriting join to unsupported join (#1888)
9947e8867 is described below
commit 9947e88677fe340702a3f757f14f613819a539d4
Author: Andy Grove <ag...@apache.org>
AuthorDate: Wed Jun 18 15:15:27 2025 -0600
Avoid rewriting join to unsupported join (#1888)
---
spark/src/main/scala/org/apache/comet/rules/RewriteJoin.scala | 7 +++----
spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala | 1 +
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/spark/src/main/scala/org/apache/comet/rules/RewriteJoin.scala b/spark/src/main/scala/org/apache/comet/rules/RewriteJoin.scala
index 6dd102352..032ace734 100644
--- a/spark/src/main/scala/org/apache/comet/rules/RewriteJoin.scala
+++ b/spark/src/main/scala/org/apache/comet/rules/RewriteJoin.scala
@@ -20,7 +20,7 @@
package org.apache.comet.rules
import org.apache.spark.sql.catalyst.optimizer.{BuildLeft, BuildRight, BuildSide, JoinSelectionHelper}
-import org.apache.spark.sql.catalyst.plans.LeftSemi
+import org.apache.spark.sql.catalyst.plans.LeftAnti
import org.apache.spark.sql.catalyst.plans.logical.Join
import org.apache.spark.sql.execution.{SortExec, SparkPlan}
import org.apache.spark.sql.execution.joins.{ShuffledHashJoinExec, SortMergeJoinExec}
@@ -65,9 +65,8 @@ object RewriteJoin extends JoinSelectionHelper {
def rewrite(plan: SparkPlan): SparkPlan = plan match {
case smj: SortMergeJoinExec =>
getSmjBuildSide(smj) match {
- case Some(BuildRight) if smj.joinType == LeftSemi =>
- // TODO this was added as a workaround for TPC-DS q14 hanging and needs
- // further investigation
+ case Some(BuildRight) if smj.joinType == LeftAnti =>
+ // https://github.com/apache/datafusion-comet/issues/457
plan
case Some(buildSide) =>
ShuffledHashJoinExec(
diff --git a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
index 229ff032a..462edf91b 100644
--- a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
+++ b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
@@ -2592,6 +2592,7 @@ object QueryPlanSerde extends Logging with CometExprShim {
}
if (join.buildSide == BuildRight && join.joinType == LeftAnti) {
+ // https://github.com/apache/datafusion-comet/issues/457
withInfo(join, "BuildRight with LeftAnti is not supported")
return None
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org