From 4f7fad549876a6c463faae79f37a7639983e7c7b Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Mon, 9 Oct 2023 15:32:56 +0800 Subject: [PATCH] [fix](Nereids) properties parser should return map (#25150) --- .../org/apache/doris/nereids/parser/LogicalPlanBuilder.java | 5 ++++- .../java/org/apache/doris/nereids/parser/NereidsParser.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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 24fb223f1f..2685d8471b 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 @@ -500,11 +500,14 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor { @Override public Map visitPropertyClause(PropertyClauseContext ctx) { - return ctx == null ? null : visitPropertyItemList(ctx.fileProperties); + return ctx == null ? ImmutableMap.of() : visitPropertyItemList(ctx.fileProperties); } @Override public Map visitPropertyItemList(PropertyItemListContext ctx) { + if (ctx == null || ctx.properties == null) { + return ImmutableMap.of(); + } Builder propertiesMap = ImmutableMap.builder(); for (PropertyItemContext argument : ctx.properties) { String key = parsePropertyKey(argument.key); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/NereidsParser.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/NereidsParser.java index 0bc228f386..db1b9bc286 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/NereidsParser.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/NereidsParser.java @@ -24,7 +24,6 @@ import org.apache.doris.nereids.DorisParser; import org.apache.doris.nereids.StatementContext; import org.apache.doris.nereids.glue.LogicalPlanAdapter; import org.apache.doris.nereids.trees.expressions.Expression; -import org.apache.doris.nereids.trees.expressions.Properties; import org.apache.doris.nereids.trees.plans.logical.LogicalPlan; import org.apache.doris.nereids.types.DataType; @@ -36,6 +35,7 @@ import org.antlr.v4.runtime.atn.PredictionMode; import org.antlr.v4.runtime.misc.ParseCancellationException; import java.util.List; +import java.util.Map; import java.util.function.Function; /** @@ -80,7 +80,7 @@ public class NereidsParser { return parse(dataType, DorisParser::dataType); } - public Properties parseProperties(String properties) { + public Map parseProperties(String properties) { return parse(properties, DorisParser::propertyItemList); }