diff --git a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java index 27fe6b8ff6badb..1d41e66d406b3f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java +++ b/fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java @@ -25,6 +25,7 @@ import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.mysql.privilege.Auth; import org.apache.doris.nereids.NereidsPlanner; +import org.apache.doris.nereids.StatementContext; import org.apache.doris.nereids.exceptions.ParseException; import org.apache.doris.nereids.glue.LogicalPlanAdapter; import org.apache.doris.nereids.parser.NereidsParser; @@ -117,7 +118,13 @@ private static Plan getPlanBySql(String querySql, ConnectContext ctx) { } StatementBase parsedStmt = statements.get(0); LogicalPlan logicalPlan = ((LogicalPlanAdapter) parsedStmt).getLogicalPlan(); - NereidsPlanner planner = new NereidsPlanner(ctx.getStatementContext()); - return planner.planWithLock(logicalPlan, PhysicalProperties.ANY, ExplainLevel.NONE); + StatementContext original = ctx.getStatementContext(); + ctx.setStatementContext(new StatementContext()); + try { + NereidsPlanner planner = new NereidsPlanner(ctx.getStatementContext()); + return planner.planWithLock(logicalPlan, PhysicalProperties.ANY, ExplainLevel.NONE); + } finally { + ctx.setStatementContext(original); + } } }