mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 03:58:14 +00:00
[fix][headless]Fix logic bug in s2sql parsing. (#1996)
This commit is contained in:
@@ -30,7 +30,6 @@ import com.tencent.supersonic.headless.server.service.DataSetService;
|
||||
import com.tencent.supersonic.headless.server.service.DimensionService;
|
||||
import com.tencent.supersonic.headless.server.service.MetricService;
|
||||
import com.tencent.supersonic.headless.server.service.SchemaService;
|
||||
import com.tencent.supersonic.headless.server.utils.MetricDrillDownChecker;
|
||||
import com.tencent.supersonic.headless.server.utils.QueryUtils;
|
||||
import com.tencent.supersonic.headless.server.utils.StatUtils;
|
||||
import lombok.SneakyThrows;
|
||||
@@ -53,7 +52,6 @@ public class S2SemanticLayerService implements SemanticLayerService {
|
||||
private final DataSetService dataSetService;
|
||||
private final SchemaService schemaService;
|
||||
private final SemanticTranslator semanticTranslator;
|
||||
private final MetricDrillDownChecker metricDrillDownChecker;
|
||||
private final KnowledgeBaseService knowledgeBaseService;
|
||||
private final MetricService metricService;
|
||||
private final DimensionService dimensionService;
|
||||
@@ -63,7 +61,6 @@ public class S2SemanticLayerService implements SemanticLayerService {
|
||||
public S2SemanticLayerService(StatUtils statUtils, QueryUtils queryUtils,
|
||||
SemanticSchemaManager semanticSchemaManager, DataSetService dataSetService,
|
||||
SchemaService schemaService, SemanticTranslator semanticTranslator,
|
||||
MetricDrillDownChecker metricDrillDownChecker,
|
||||
KnowledgeBaseService knowledgeBaseService, MetricService metricService,
|
||||
DimensionService dimensionService) {
|
||||
this.statUtils = statUtils;
|
||||
@@ -72,7 +69,6 @@ public class S2SemanticLayerService implements SemanticLayerService {
|
||||
this.dataSetService = dataSetService;
|
||||
this.schemaService = schemaService;
|
||||
this.semanticTranslator = semanticTranslator;
|
||||
this.metricDrillDownChecker = metricDrillDownChecker;
|
||||
this.knowledgeBaseService = knowledgeBaseService;
|
||||
this.metricService = metricService;
|
||||
this.dimensionService = dimensionService;
|
||||
@@ -119,10 +115,6 @@ public class S2SemanticLayerService implements SemanticLayerService {
|
||||
QueryStatement queryStatement = buildQueryStatement(queryReq, user);
|
||||
semanticTranslator.translate(queryStatement);
|
||||
|
||||
// Check whether the dimensions of the metric drill-down are correct temporarily,
|
||||
// add the abstraction of a validator later.
|
||||
metricDrillDownChecker.checkQuery(queryStatement);
|
||||
|
||||
// 4.execute query
|
||||
SemanticQueryResp queryResp = null;
|
||||
for (QueryExecutor queryExecutor : queryExecutors) {
|
||||
|
||||
@@ -116,7 +116,7 @@ public class ModelServiceImpl implements ModelService {
|
||||
@Override
|
||||
@Transactional
|
||||
public ModelResp createModel(ModelReq modelReq, User user) throws Exception {
|
||||
checkParams(modelReq);
|
||||
// checkParams(modelReq);
|
||||
ModelDO modelDO = ModelConverter.convert(modelReq, user);
|
||||
modelRepository.createModel(modelDO);
|
||||
batchCreateDimension(modelDO, user);
|
||||
@@ -140,7 +140,7 @@ public class ModelServiceImpl implements ModelService {
|
||||
@Override
|
||||
@Transactional
|
||||
public ModelResp updateModel(ModelReq modelReq, User user) throws Exception {
|
||||
checkParams(modelReq);
|
||||
// checkParams(modelReq);
|
||||
checkRelations(modelReq);
|
||||
ModelDO modelDO = modelRepository.getModelById(modelReq.getId());
|
||||
ModelConverter.convert(modelDO, modelReq, user);
|
||||
|
||||
@@ -15,15 +15,12 @@ public class CoreComponentFactory extends ComponentFactory {
|
||||
|
||||
private static List<SemanticModeller> semanticModellers = new ArrayList<>();
|
||||
|
||||
public static List<SemanticModeller> getSemanticModellers() {
|
||||
if (semanticModellers.isEmpty()) {
|
||||
initSemanticModellers();
|
||||
}
|
||||
return semanticModellers;
|
||||
}
|
||||
|
||||
private static void initSemanticModellers() {
|
||||
static {
|
||||
init(SemanticModeller.class, semanticModellers);
|
||||
}
|
||||
|
||||
public static List<SemanticModeller> getSemanticModellers() {
|
||||
return semanticModellers;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,9 +33,6 @@ public class MetricCheckUtils {
|
||||
throw new InvalidArgumentException("指标定义参数不可为空");
|
||||
}
|
||||
expr = typeParams.getExpr();
|
||||
if (CollectionUtils.isEmpty(typeParams.getMeasures())) {
|
||||
throw new InvalidArgumentException("定义指标的度量列表参数不可为空");
|
||||
}
|
||||
if (hasAggregateFunction(expr)) {
|
||||
throw new InvalidArgumentException("基于度量来创建指标,表达式中不可再包含聚合函数");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user