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

taowang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/amoro.git


The following commit(s) were added to refs/heads/master by this push:
     new 9b98d2b53 [AMORO-3720] fix mixed_format does not support explain for 
merge into SQL (#3721)
9b98d2b53 is described below

commit 9b98d2b53de0016e58cc48e3baa55cb75c4de1c1
Author: Nico CHen <[email protected]>
AuthorDate: Fri Aug 8 16:53:01 2025 +0800

    [AMORO-3720] fix mixed_format does not support explain for merge into SQL 
(#3721)
    
    [AMORO-3720] fix merge into when source use partial columns of table
---
 .../spark/sql/catalyst/parser/MixedFormatSqlExtensionsParser.scala     | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/amoro-format-mixed/amoro-mixed-spark/v3.3/amoro-mixed-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/MixedFormatSqlExtensionsParser.scala
 
b/amoro-format-mixed/amoro-mixed-spark/v3.3/amoro-mixed-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/MixedFormatSqlExtensionsParser.scala
index 4c9fc77fc..e2e1fe6c0 100644
--- 
a/amoro-format-mixed/amoro-mixed-spark/v3.3/amoro-mixed-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/MixedFormatSqlExtensionsParser.scala
+++ 
b/amoro-format-mixed/amoro-mixed-spark/v3.3/amoro-mixed-spark-3.3/src/main/scala/org/apache/amoro/spark/sql/catalyst/parser/MixedFormatSqlExtensionsParser.scala
@@ -37,6 +37,7 @@ import org.apache.spark.sql.catalyst.parser.{ParseException, 
ParserInterface}
 import org.apache.spark.sql.catalyst.plans.logical._
 import org.apache.spark.sql.catalyst.trees.Origin
 import org.apache.spark.sql.connector.catalog.{Table, TableCatalog}
+import org.apache.spark.sql.execution.command.ExplainCommand
 import org.apache.spark.sql.types.{DataType, StructType}
 
 import 
org.apache.amoro.spark.sql.catalyst.plans.UnresolvedMergeIntoMixedFormatTable
@@ -165,6 +166,8 @@ class MixedFormatSqlExtensionsParser(delegate: 
ParserInterface) extends ParserIn
     } else {
       val parsedPlan = delegate.parsePlan(sqlText)
       parsedPlan match {
+        case e: ExplainCommand =>
+          e.copy(logicalPlan = replaceMergeIntoCommands(e.logicalPlan))
         case p =>
           replaceMergeIntoCommands(p)
       }

Reply via email to