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

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


The following commit(s) were added to refs/heads/main by this push:
     new 50470bd  fix: Comet sink operator should not have children operators 
(#26)
50470bd is described below

commit 50470bd603a589ee0b4c8a7e68a1a6094912e298
Author: Liang-Chi Hsieh <[email protected]>
AuthorDate: Wed Feb 14 20:28:28 2024 -0800

    fix: Comet sink operator should not have children operators (#26)
---
 .../src/main/scala/org/apache/comet/CometSparkSessionExtensions.scala | 1 +
 spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala      | 4 ++++
 2 files changed, 5 insertions(+)

diff --git 
a/spark/src/main/scala/org/apache/comet/CometSparkSessionExtensions.scala 
b/spark/src/main/scala/org/apache/comet/CometSparkSessionExtensions.scala
index 1c0f7bb..cd0b830 100644
--- a/spark/src/main/scala/org/apache/comet/CometSparkSessionExtensions.scala
+++ b/spark/src/main/scala/org/apache/comet/CometSparkSessionExtensions.scala
@@ -295,6 +295,7 @@ class CometSparkSessionExtensions
             case Some(nativeOp) =>
               val cometOp = CometUnionExec(u, u.children)
               CometSinkPlaceHolder(nativeOp, u, cometOp)
+            case None => u
           }
 
         case op =>
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 609026e..e52018b 100644
--- a/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
+++ b/spark/src/main/scala/org/apache/comet/serde/QueryPlanSerde.scala
@@ -1698,6 +1698,10 @@ object QueryPlanSerde extends Logging with 
ShimQueryPlanSerde {
 
         if (scanTypes.length == op.output.length) {
           scanBuilder.addAllFields(scanTypes.asJava)
+
+          // Sink operators don't have children
+          result.clearChildren()
+
           Some(result.setScan(scanBuilder).build())
         } else {
           // There are unsupported scan type

Reply via email to