diff --git a/fe/fe-core/src/main/cup/sql_parser.cup b/fe/fe-core/src/main/cup/sql_parser.cup index ea5d5cae3f4194..bd419c009a1dac 100644 --- a/fe/fe-core/src/main/cup/sql_parser.cup +++ b/fe/fe-core/src/main/cup/sql_parser.cup @@ -3080,9 +3080,9 @@ describe_stmt ::= query.setIsExplain(options); RESULT = query; :} - | describe_command insert_stmt:stmt + | describe_command opt_explain_options:options insert_stmt:stmt {: - stmt.getQueryStmt().setIsExplain(new ExplainOptions(true, false)); + stmt.getQueryStmt().setIsExplain(options); RESULT = stmt; :} ; diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 702c3db6c866ac..23b870301d1d21 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -1222,8 +1222,9 @@ private void handleInsertStmt() throws Exception { } if (insertStmt.getQueryStmt().isExplain()) { - insertStmt.setIsExplain(new ExplainOptions(true, false)); - String explainString = planner.getExplainString(planner.getFragments(), new ExplainOptions(true, false)); + ExplainOptions explainOptions = insertStmt.getQueryStmt().getExplainOptions(); + insertStmt.setIsExplain(explainOptions); + String explainString = planner.getExplainString(planner.getFragments(), explainOptions); handleExplainStmt(explainString); return; }