[improvement][headless] fix queryData by dimension error (#1666)

This commit is contained in:
jipeli
2024-09-13 14:37:14 +08:00
committed by GitHub
parent e901ff8370
commit 5f4d24348a
3 changed files with 5 additions and 4 deletions

View File

@@ -200,6 +200,7 @@ public class ChatQueryServiceImpl implements ChatQueryService {
SemanticParseInfo parseInfo =
chatManageService.getParseInfo(chatQueryDataReq.getQueryId(), parseId);
parseInfo = mergeParseInfo(parseInfo, chatQueryDataReq);
parseInfo.setSqlInfo(new SqlInfo());
DataSetSchema dataSetSchema =
semanticLayerService.getDataSetSchema(parseInfo.getDataSetId());

View File

@@ -89,9 +89,7 @@ public class DefaultSemanticTranslator implements SemanticTranslator {
QueryStatement tableSql =
parserSql(
metricTable, isSingleTable, dataSetQueryParam, queryStatement);
if (isSingleTable
&& Objects.nonNull(tableSql.getDataSetQueryParam())
&& !tableSql.getDataSetSimplifySql().isEmpty()) {
if (isSingleTable && StringUtils.isNotBlank(tableSql.getDataSetSimplifySql())) {
queryStatement.setSql(tableSql.getDataSetSimplifySql());
queryStatement.setDataSetQueryParam(dataSetQueryParam);
return queryStatement;

View File

@@ -129,6 +129,8 @@ public class QueryBySqlTest extends BaseTest {
SemanticQueryResp semanticQueryResp =
queryBySql("SELECT SUM(pv) FROM 超音数PVUV统计 WHERE department ='HR'", tom);
Assertions.assertNotNull(semanticQueryResp.getQueryAuthorization().getMessage());
Assertions.assertTrue(semanticQueryResp.getSql().contains("user_name = 'tom'"));
Assertions.assertTrue(
semanticQueryResp.getSql().contains("user_name = 'tom'")
|| semanticQueryResp.getSql().contains("`user_name` = 'tom'"));
}
}