Skip to content

Commit

Permalink
[fix](mtmv) mtmv getPlanBySql should not reuse ctx's StatementContext (
Browse files Browse the repository at this point in the history
…#39690)

pick from master #39690
  • Loading branch information
morrySnow committed Aug 21, 2024
1 parent 610f694 commit 08ba881
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.apache.doris.datasource.CatalogIf;
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;
Expand Down Expand Up @@ -152,7 +153,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);
}
}
}

0 comments on commit 08ba881

Please sign in to comment.