[fix](Nereids) properties parser should return map (#25150)

This commit is contained in:
morrySnow
2023-10-09 15:32:56 +08:00
committed by GitHub
parent d7b6fe57df
commit 4f7fad5498
2 changed files with 6 additions and 3 deletions

View File

@ -500,11 +500,14 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor<Object> {
@Override
public Map<String, String> visitPropertyClause(PropertyClauseContext ctx) {
return ctx == null ? null : visitPropertyItemList(ctx.fileProperties);
return ctx == null ? ImmutableMap.of() : visitPropertyItemList(ctx.fileProperties);
}
@Override
public Map<String, String> visitPropertyItemList(PropertyItemListContext ctx) {
if (ctx == null || ctx.properties == null) {
return ImmutableMap.of();
}
Builder<String, String> propertiesMap = ImmutableMap.builder();
for (PropertyItemContext argument : ctx.properties) {
String key = parsePropertyKey(argument.key);

View File

@ -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<String, String> parseProperties(String properties) {
return parse(properties, DorisParser::propertyItemList);
}