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)
}