(improvement)(headless) MetricDrillDownChecker compatible with the case where SQL is empty (#1357)

Co-authored-by: lxwcodemonkey
This commit is contained in:
LXW
2024-07-05 18:18:05 +08:00
committed by GitHub
parent 7c86e2b3db
commit 16c3ff0c30

View File

@@ -32,6 +32,9 @@ public class MetricDrillDownChecker {
public void checkQuery(QueryStatement queryStatement) { public void checkQuery(QueryStatement queryStatement) {
SemanticSchemaResp semanticSchemaResp = queryStatement.getSemanticSchemaResp(); SemanticSchemaResp semanticSchemaResp = queryStatement.getSemanticSchemaResp();
String sql = queryStatement.getDataSetQueryParam().getSql(); String sql = queryStatement.getDataSetQueryParam().getSql();
if (StringUtils.isBlank(sql)) {
return;
}
checkQuery(semanticSchemaResp, sql); checkQuery(semanticSchemaResp, sql);
} }
@@ -40,7 +43,7 @@ public class MetricDrillDownChecker {
List<String> metricFields = SqlSelectHelper.getAggregateAsFields(sql); List<String> metricFields = SqlSelectHelper.getAggregateAsFields(sql);
List<String> whereFields = SqlSelectHelper.getWhereFields(sql); List<String> whereFields = SqlSelectHelper.getWhereFields(sql);
List<String> dimensionFields = getDimensionFields(groupByFields, whereFields); List<String> dimensionFields = getDimensionFields(groupByFields, whereFields);
if (CollectionUtils.isEmpty(metricFields) || StringUtils.isBlank(sql)) { if (CollectionUtils.isEmpty(metricFields)) {
return; return;
} }
for (String metricName : metricFields) { for (String metricName : metricFields) {