From 320fcf04bd6e5aacc5726c930ad37a64178c5704 Mon Sep 17 00:00:00 2001 From: jerryjzhang Date: Wed, 25 Jun 2025 23:14:16 +0800 Subject: [PATCH] [fix][heaadless]bizName of ModelResp is not necessarily equal to table name. --- .../tencent/supersonic/headless/server/utils/DictUtils.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java index ce6319931..f11a83bb4 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/DictUtils.java @@ -274,6 +274,8 @@ public class DictUtils { private QuerySqlReq constructQuerySqlReq(DictItemResp dictItemResp) { ModelResp model = modelService.getModel(dictItemResp.getModelId()); + String tableStr = model.getModelDetail().getTableQuery() != null ? model.getModelDetail().getTableQuery() + : "(" + model.getModelDetail().getSqlQuery() + ")"; String sqlPattern = "select %s,count(1) from %s %s group by %s order by count(1) desc limit %d"; String dimBizName = dictItemResp.getBizName(); @@ -288,7 +290,7 @@ public class DictUtils { } String sql = - String.format(sqlPattern, dimBizName, model.getBizName(), where, dimBizName, limit); + String.format(sqlPattern, dimBizName, tableStr, where, dimBizName, limit); Set modelIds = new HashSet<>(); modelIds.add(dictItemResp.getModelId()); QuerySqlReq querySqlReq = new QuerySqlReq();