From 16c3ff0c30eb18ef9dbe4600bb1c6031fc4533a4 Mon Sep 17 00:00:00 2001 From: LXW <1264174498@qq.com> Date: Fri, 5 Jul 2024 18:18:05 +0800 Subject: [PATCH] (improvement)(headless) MetricDrillDownChecker compatible with the case where SQL is empty (#1357) Co-authored-by: lxwcodemonkey --- .../headless/server/utils/MetricDrillDownChecker.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/MetricDrillDownChecker.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/MetricDrillDownChecker.java index fd664b93b..e3b122189 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/MetricDrillDownChecker.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/MetricDrillDownChecker.java @@ -32,6 +32,9 @@ public class MetricDrillDownChecker { public void checkQuery(QueryStatement queryStatement) { SemanticSchemaResp semanticSchemaResp = queryStatement.getSemanticSchemaResp(); String sql = queryStatement.getDataSetQueryParam().getSql(); + if (StringUtils.isBlank(sql)) { + return; + } checkQuery(semanticSchemaResp, sql); } @@ -40,7 +43,7 @@ public class MetricDrillDownChecker { List metricFields = SqlSelectHelper.getAggregateAsFields(sql); List whereFields = SqlSelectHelper.getWhereFields(sql); List dimensionFields = getDimensionFields(groupByFields, whereFields); - if (CollectionUtils.isEmpty(metricFields) || StringUtils.isBlank(sql)) { + if (CollectionUtils.isEmpty(metricFields)) { return; } for (String metricName : metricFields) {