(improvement)(Headless) fixed execution null database when skip translation (#1233)

This commit is contained in:
jipeli
2024-06-26 14:42:26 +08:00
committed by GitHub
parent 61ecb6274d
commit f2888c7e6a
3 changed files with 16 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ import com.tencent.supersonic.headless.api.pojo.request.QuerySqlReq;
import com.tencent.supersonic.headless.api.pojo.request.QueryStructReq;
import com.tencent.supersonic.headless.api.pojo.request.SchemaFilterReq;
import com.tencent.supersonic.headless.api.pojo.request.SemanticQueryReq;
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
import com.tencent.supersonic.headless.api.pojo.response.ExplainResp;
import com.tencent.supersonic.headless.api.pojo.response.ItemResp;
@@ -44,6 +45,7 @@ import com.tencent.supersonic.headless.core.utils.ComponentFactory;
import com.tencent.supersonic.headless.server.annotation.S2DataPermission;
import com.tencent.supersonic.headless.server.facade.service.SemanticLayerService;
import com.tencent.supersonic.headless.server.manager.SemanticSchemaManager;
import com.tencent.supersonic.headless.server.utils.DatabaseConverter;
import com.tencent.supersonic.headless.server.utils.QueryReqConverter;
import com.tencent.supersonic.headless.server.utils.QueryUtils;
import com.tencent.supersonic.headless.server.utils.StatUtils;
@@ -207,6 +209,12 @@ public class S2SemanticLayerService implements SemanticLayerService {
private QueryStatement buildSqlInfoStatement(SqlInfo sqlInfo, Long dataSetId) {
QueryStatement queryStatement = new QueryStatement();
SemanticModel semanticModel = new SemanticModel();
DatabaseResp databaseResp = schemaService.getDatabase(Long.valueOf(sqlInfo.getSourceId()));
if (Objects.nonNull(databaseResp)) {
semanticModel.setDatabase(DatabaseConverter.convert(databaseResp));
}
queryStatement.setSemanticModel(semanticModel);
queryStatement.setSql(sqlInfo.getQuerySQL());
queryStatement.setSourceId(sqlInfo.getSourceId());
queryStatement.setDataSetId(dataSetId);

View File

@@ -8,6 +8,7 @@ import com.tencent.supersonic.headless.api.pojo.ItemDateFilter;
import com.tencent.supersonic.headless.api.pojo.SemanticSchema;
import com.tencent.supersonic.headless.api.pojo.request.ItemUseReq;
import com.tencent.supersonic.headless.api.pojo.request.SchemaFilterReq;
import com.tencent.supersonic.headless.api.pojo.response.DatabaseResp;
import com.tencent.supersonic.headless.api.pojo.response.DimensionResp;
import com.tencent.supersonic.headless.api.pojo.response.DomainResp;
import com.tencent.supersonic.headless.api.pojo.response.ItemResp;
@@ -58,4 +59,6 @@ public interface SchemaService {
Map<Long, String> modelIdName);
ItemDateResp getItemDate(ItemDateFilter dimension, ItemDateFilter metric);
DatabaseResp getDatabase(Long id);
}

View File

@@ -508,4 +508,9 @@ public class SchemaServiceImpl implements SchemaService {
return modelService.getItemDate(dimension, metric);
}
@Override
public DatabaseResp getDatabase(Long id) {
return databaseService.getDatabase(id);
}
}