diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/DimExpressionParser.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/DimExpressionParser.java index 0b94d3f42..c2d85c071 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/DimExpressionParser.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/DimExpressionParser.java @@ -2,7 +2,6 @@ package com.tencent.supersonic.headless.core.translator.parser; import com.tencent.supersonic.common.jsqlparser.SqlReplaceHelper; import com.tencent.supersonic.common.jsqlparser.SqlSelectHelper; -import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.headless.api.pojo.response.DimSchemaResp; import com.tencent.supersonic.headless.api.pojo.response.SemanticSchemaResp; import com.tencent.supersonic.headless.core.pojo.OntologyQuery; @@ -41,9 +40,8 @@ public class DimExpressionParser implements QueryParser { Map bizName2Expr = getDimensionExpressions(semanticSchema, ontologyQuery); if (!CollectionUtils.isEmpty(bizName2Expr)) { - String sql = SqlReplaceHelper.replaceSqlByExpression( - Constants.TABLE_PREFIX + queryStatement.getDataSetId(), sqlQuery.getSql(), - bizName2Expr); + String sql = SqlReplaceHelper.replaceSqlByExpression(sqlQuery.getTable(), + sqlQuery.getSql(), bizName2Expr); sqlQuery.setSql(sql); } } diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/MetricExpressionParser.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/MetricExpressionParser.java index 33b279e0b..bbcf6f2d5 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/MetricExpressionParser.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/MetricExpressionParser.java @@ -2,7 +2,6 @@ package com.tencent.supersonic.headless.core.translator.parser; import com.tencent.supersonic.common.jsqlparser.SqlReplaceHelper; import com.tencent.supersonic.common.jsqlparser.SqlSelectHelper; -import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.headless.api.pojo.Measure; import com.tencent.supersonic.headless.api.pojo.enums.MetricDefineType; import com.tencent.supersonic.headless.api.pojo.response.MetricSchemaResp; @@ -40,9 +39,8 @@ public class MetricExpressionParser implements QueryParser { Map bizName2Expr = getMetricExpressions(semanticSchema, ontologyQuery); if (!CollectionUtils.isEmpty(bizName2Expr)) { - String sql = SqlReplaceHelper.replaceSqlByExpression( - Constants.TABLE_PREFIX + queryStatement.getDataSetId(), sqlQuery.getSql(), - bizName2Expr); + String sql = SqlReplaceHelper.replaceSqlByExpression(sqlQuery.getTable(), + sqlQuery.getSql(), bizName2Expr); sqlQuery.setSql(sql); } } diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java index 540af5180..be950e75e 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/translator/parser/SqlQueryParser.java @@ -77,7 +77,7 @@ public class SqlQueryParser implements QueryParser { if (StringUtils.isEmpty(tableName)) { return; } - sqlQuery.setTable(tableName.toLowerCase()); + sqlQuery.setTable(Constants.TABLE_PREFIX + queryStatement.getDataSetId()); SqlGenerateUtils sqlGenerateUtils = ContextUtils.getBean(SqlGenerateUtils.class); SemanticSchemaResp semanticSchema = queryStatement.getSemanticSchema(); if (!sqlGenerateUtils.isSupportWith( diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java index d337d20aa..d5af251cd 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/facade/service/impl/S2SemanticLayerService.java @@ -2,6 +2,7 @@ package com.tencent.supersonic.headless.server.facade.service.impl; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import com.tencent.supersonic.common.pojo.Constants; import com.tencent.supersonic.common.pojo.QueryColumn; import com.tencent.supersonic.common.pojo.User; import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum; @@ -323,6 +324,7 @@ public class S2SemanticLayerService implements SemanticLayerService { DataSetResp dataSetResp = dataSetService.getDataSet(querySqlReq.getDataSetId()); queryStatement.setDataSetId(dataSetResp.getId()); queryStatement.setDataSetName(dataSetResp.getName()); + sqlQuery.setTable(Constants.TABLE_PREFIX + dataSetResp.getId()); } return queryStatement; }