diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java index ba73f99932..73455da61d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java @@ -321,7 +321,11 @@ public class InsertIntoTableCommand extends Command implements ForwardWithSync, @Override public Plan getExplainPlan(ConnectContext ctx) { - return InsertUtils.getPlanForExplain(ctx, this.logicalQuery); + Plan plan = InsertUtils.getPlanForExplain(ctx, this.logicalQuery); + if (cte.isPresent()) { + plan = cte.get().withChildren(plan); + } + return plan; } @Override diff --git a/regression-test/suites/nereids_p0/explain/explain_dml.groovy b/regression-test/suites/nereids_p0/explain/explain_dml.groovy index a007185ce6..781c55c70e 100644 --- a/regression-test/suites/nereids_p0/explain/explain_dml.groovy +++ b/regression-test/suites/nereids_p0/explain/explain_dml.groovy @@ -121,4 +121,6 @@ suite("explain_dml") { sql "update duptbl set v1=1 where k1=1;" exception "Only unique table could be updated." } + + sql """explain with tmp as (select 1, 2, '3', 4.0, '2000-01-01') insert into epldel1 select * from tmp""" }