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

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


The following commit(s) were added to refs/heads/master by this push:
     new bddf7285bbb [fix](mtmv) mtmv getPlanBySql should not reuse ctx's 
StatementContext (#39690)
bddf7285bbb is described below

commit bddf7285bbba7eecff9ef0d09ac361422e5f9455
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Wed Aug 21 15:05:52 2024 +0800

    [fix](mtmv) mtmv getPlanBySql should not reuse ctx's StatementContext 
(#39690)
---
 .../src/main/java/org/apache/doris/mtmv/MTMVPlanUtil.java     | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

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 27fe6b8ff6b..1d41e66d406 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;
 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 @@ public class MTMVPlanUtil {
         }
         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);
+        }
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to