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

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


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

commit 2890a98b18ee19258df8cc86b437664e0d3f7c21
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Wed Aug 21 19:20:40 2024 +0800

    [fix](mtmv) mtmv getPlanBySql should not reuse ctx's StatementContext 
(#39690) (#39719)
    
    pick from master #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 cf80e58eb7e..88c20323839 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
@@ -28,6 +28,7 @@ import org.apache.doris.common.Pair;
 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;
@@ -152,7 +153,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