mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
[fix][headless]Fix table name of SqlQuery.
This commit is contained in:
@@ -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.SqlReplaceHelper;
|
||||||
import com.tencent.supersonic.common.jsqlparser.SqlSelectHelper;
|
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.DimSchemaResp;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.SemanticSchemaResp;
|
import com.tencent.supersonic.headless.api.pojo.response.SemanticSchemaResp;
|
||||||
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
import com.tencent.supersonic.headless.core.pojo.OntologyQuery;
|
||||||
@@ -41,9 +40,8 @@ public class DimExpressionParser implements QueryParser {
|
|||||||
|
|
||||||
Map<String, String> bizName2Expr = getDimensionExpressions(semanticSchema, ontologyQuery);
|
Map<String, String> bizName2Expr = getDimensionExpressions(semanticSchema, ontologyQuery);
|
||||||
if (!CollectionUtils.isEmpty(bizName2Expr)) {
|
if (!CollectionUtils.isEmpty(bizName2Expr)) {
|
||||||
String sql = SqlReplaceHelper.replaceSqlByExpression(
|
String sql = SqlReplaceHelper.replaceSqlByExpression(sqlQuery.getTable(),
|
||||||
Constants.TABLE_PREFIX + queryStatement.getDataSetId(), sqlQuery.getSql(),
|
sqlQuery.getSql(), bizName2Expr);
|
||||||
bizName2Expr);
|
|
||||||
sqlQuery.setSql(sql);
|
sqlQuery.setSql(sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.SqlReplaceHelper;
|
||||||
import com.tencent.supersonic.common.jsqlparser.SqlSelectHelper;
|
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.Measure;
|
||||||
import com.tencent.supersonic.headless.api.pojo.enums.MetricDefineType;
|
import com.tencent.supersonic.headless.api.pojo.enums.MetricDefineType;
|
||||||
import com.tencent.supersonic.headless.api.pojo.response.MetricSchemaResp;
|
import com.tencent.supersonic.headless.api.pojo.response.MetricSchemaResp;
|
||||||
@@ -40,9 +39,8 @@ public class MetricExpressionParser implements QueryParser {
|
|||||||
|
|
||||||
Map<String, String> bizName2Expr = getMetricExpressions(semanticSchema, ontologyQuery);
|
Map<String, String> bizName2Expr = getMetricExpressions(semanticSchema, ontologyQuery);
|
||||||
if (!CollectionUtils.isEmpty(bizName2Expr)) {
|
if (!CollectionUtils.isEmpty(bizName2Expr)) {
|
||||||
String sql = SqlReplaceHelper.replaceSqlByExpression(
|
String sql = SqlReplaceHelper.replaceSqlByExpression(sqlQuery.getTable(),
|
||||||
Constants.TABLE_PREFIX + queryStatement.getDataSetId(), sqlQuery.getSql(),
|
sqlQuery.getSql(), bizName2Expr);
|
||||||
bizName2Expr);
|
|
||||||
sqlQuery.setSql(sql);
|
sqlQuery.setSql(sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class SqlQueryParser implements QueryParser {
|
|||||||
if (StringUtils.isEmpty(tableName)) {
|
if (StringUtils.isEmpty(tableName)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sqlQuery.setTable(tableName.toLowerCase());
|
sqlQuery.setTable(Constants.TABLE_PREFIX + queryStatement.getDataSetId());
|
||||||
SqlGenerateUtils sqlGenerateUtils = ContextUtils.getBean(SqlGenerateUtils.class);
|
SqlGenerateUtils sqlGenerateUtils = ContextUtils.getBean(SqlGenerateUtils.class);
|
||||||
SemanticSchemaResp semanticSchema = queryStatement.getSemanticSchema();
|
SemanticSchemaResp semanticSchema = queryStatement.getSemanticSchema();
|
||||||
if (!sqlGenerateUtils.isSupportWith(
|
if (!sqlGenerateUtils.isSupportWith(
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.tencent.supersonic.headless.server.facade.service.impl;
|
|||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Sets;
|
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.QueryColumn;
|
||||||
import com.tencent.supersonic.common.pojo.User;
|
import com.tencent.supersonic.common.pojo.User;
|
||||||
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
|
import com.tencent.supersonic.common.pojo.enums.TaskStatusEnum;
|
||||||
@@ -323,6 +324,7 @@ public class S2SemanticLayerService implements SemanticLayerService {
|
|||||||
DataSetResp dataSetResp = dataSetService.getDataSet(querySqlReq.getDataSetId());
|
DataSetResp dataSetResp = dataSetService.getDataSet(querySqlReq.getDataSetId());
|
||||||
queryStatement.setDataSetId(dataSetResp.getId());
|
queryStatement.setDataSetId(dataSetResp.getId());
|
||||||
queryStatement.setDataSetName(dataSetResp.getName());
|
queryStatement.setDataSetName(dataSetResp.getName());
|
||||||
|
sqlQuery.setTable(Constants.TABLE_PREFIX + dataSetResp.getId());
|
||||||
}
|
}
|
||||||
return queryStatement;
|
return queryStatement;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user