diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 index 0fbb0a1f96..9f911d71fe 100644 --- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 +++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4 @@ -69,7 +69,7 @@ statementBase | explain? cte? UPDATE tableName=multipartIdentifier tableAlias SET updateAssignmentSeq fromClause? - whereClause #update + whereClause? #update | explain? cte? DELETE FROM tableName=multipartIdentifier partitionSpec? tableAlias (USING relations)? diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java index 5492e7de5b..247df0e2d6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java @@ -828,7 +828,7 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor { if (ctx.fromClause() != null) { query = withRelations(query, ctx.fromClause().relations().relation()); } - query = withFilter(query, Optional.of(ctx.whereClause())); + query = withFilter(query, Optional.ofNullable(ctx.whereClause())); String tableAlias = null; if (ctx.tableAlias().strictIdentifier() != null) { tableAlias = ctx.tableAlias().getText();