From fcb90dc808f880a225aafe1a58ef5fd7227b31bb Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Fri, 29 Dec 2023 20:47:22 +0800 Subject: [PATCH] [opt](Nereids) use enable_nereids_dml to control ctas and create table (#29284) --- .../nereids/trees/plans/commands/CreateTableCommand.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java index 9bdbc949cb..4d1e393716 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java @@ -73,6 +73,14 @@ public class CreateTableCommand extends Command implements ForwardWithSync { @Override public void run(ConnectContext ctx, StmtExecutor executor) throws Exception { + if (!ctx.getSessionVariable().isEnableNereidsDML()) { + try { + ctx.getSessionVariable().enableFallbackToOriginalPlannerOnce(); + } catch (Exception e) { + throw new AnalysisException("failed to set fallback to original planner to true", e); + } + throw new AnalysisException("Nereids DML is disabled, will try to fall back to the original planner"); + } if (!ctasQuery.isPresent()) { createTableInfo.validate(ctx); CreateTableStmt createTableStmt = createTableInfo.translateToLegacyStmt();