From add74b95890fe724aec869b2fdee2187e2bc8aca Mon Sep 17 00:00:00 2001 From: jipeli <54889677+jipeli@users.noreply.github.com> Date: Fri, 19 Jan 2024 23:06:11 +0800 Subject: [PATCH] (improvement)(Headless) fix field parse error (#669) --- .../server/manager/SemanticSchemaManager.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java index 795ec42f0..e7bf45b87 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/manager/SemanticSchemaManager.java @@ -131,19 +131,13 @@ public class SemanticSchemaManager { datasource.setTimePartType(TimePartType.of(d.getModelSourceTypeEnum().name())); } if (Objects.nonNull(d.getFields()) && !CollectionUtils.isEmpty(d.getFields())) { - Set dimensions = datasource.getDimensions().stream().map(dd -> dd.getBizName()) - .collect(Collectors.toSet()); Set measures = datasource.getMeasures().stream().map(mm -> mm.getName()) .collect(Collectors.toSet()); - Set identifiers = datasource.getIdentifiers().stream().map(ii -> ii.getName()) - .collect(Collectors.toSet()); for (Field f : d.getFields()) { - if (dimensions.contains(f.getFieldName()) || measures.contains(f.getFieldName()) - || identifiers.contains(f.getFieldName())) { - continue; + if (!measures.contains(f.getFieldName())) { + datasource.getMeasures() + .add(Measure.builder().expr(f.getFieldName()).name(f.getFieldName()).agg("").build()); } - datasource.getMeasures() - .add(Measure.builder().expr(f.getFieldName()).name(f.getFieldName()).agg("").build()); } } return datasource;