mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 04:57:28 +00:00
[fix][headless]Fix create model exception.
This commit is contained in:
@@ -1,16 +1,15 @@
|
||||
package com.tencent.supersonic.common.pojo.enums;
|
||||
|
||||
public enum EngineType {
|
||||
TDW(0, "tdw"),
|
||||
MYSQL(1, "mysql"),
|
||||
DORIS(2, "doris"),
|
||||
CLICKHOUSE(3, "clickhouse"),
|
||||
KAFKA(4, "kafka"),
|
||||
H2(5, "h2"),
|
||||
POSTGRESQL(6, "postgresql"),
|
||||
OTHER(7, "other"),
|
||||
DUCKDB(8, "duckdb"),
|
||||
HANADB(9, "hanadb");
|
||||
TDW(0, "TDW"),
|
||||
MYSQL(1, "MYSQL"),
|
||||
DORIS(2, "DORIS"),
|
||||
CLICKHOUSE(3, "CLICKHOUSE"),
|
||||
H2(5, "H2"),
|
||||
POSTGRESQL(6, "POSTGRESQL"),
|
||||
OTHER(7, "OTHER"),
|
||||
DUCKDB(8, "DUCKDB"),
|
||||
HANADB(9, "HANADB");
|
||||
|
||||
private Integer code;
|
||||
|
||||
|
||||
@@ -202,7 +202,8 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
||||
@Override
|
||||
public List<String> getDbNames(Long id) throws SQLException {
|
||||
DatabaseResp databaseResp = getDatabase(id);
|
||||
DbAdaptor dbAdaptor = DbAdaptorFactory.getEngineAdaptor(databaseResp.getType());
|
||||
DbAdaptor dbAdaptor =
|
||||
DbAdaptorFactory.getEngineAdaptor(databaseResp.getType().toUpperCase());
|
||||
return dbAdaptor.getDBs(DatabaseConverter.getConnectInfo(databaseResp));
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,7 @@ public class ModelConverter {
|
||||
|
||||
public static ModelDO convert(ModelReq modelReq, User user) {
|
||||
ModelDO modelDO = new ModelDO();
|
||||
// ModelDetail modelDetail = createModelDetail(modelReq);
|
||||
ModelDetail modelDetail = modelReq.getModelDetail();
|
||||
ModelDetail modelDetail = createModelDetail(modelReq);
|
||||
modelReq.createdBy(user.getName());
|
||||
BeanMapper.mapper(modelReq, modelDO);
|
||||
modelDO.setStatus(StatusEnum.ONLINE.getCode());
|
||||
@@ -267,16 +266,37 @@ public class ModelConverter {
|
||||
private static ModelDetail createModelDetail(ModelReq modelReq) {
|
||||
ModelDetail modelDetail = new ModelDetail();
|
||||
List<Measure> measures = modelReq.getModelDetail().getMeasures();
|
||||
if (measures == null) {
|
||||
measures = Lists.newArrayList();
|
||||
}
|
||||
for (Measure measure : measures) {
|
||||
if (StringUtils.isBlank(measure.getBizName())) {
|
||||
continue;
|
||||
List<Dimension> dimensions = modelReq.getModelDetail().getDimensions();
|
||||
List<Identify> identifiers = modelReq.getModelDetail().getIdentifiers();
|
||||
|
||||
if (measures != null) {
|
||||
for (Measure measure : measures) {
|
||||
if (StringUtils.isBlank(measure.getBizName())) {
|
||||
continue;
|
||||
}
|
||||
measure.setExpr(measure.getBizName());
|
||||
}
|
||||
measure.setExpr(measure.getBizName());
|
||||
measure.setBizName(String.format("%s_%s", modelReq.getBizName(), measure.getExpr()));
|
||||
}
|
||||
if (dimensions != null) {
|
||||
for (Dimension dimension : dimensions) {
|
||||
if (StringUtils.isBlank(dimension.getBizName())) {
|
||||
continue;
|
||||
}
|
||||
dimension.setExpr(dimension.getBizName());
|
||||
}
|
||||
}
|
||||
if (identifiers != null) {
|
||||
for (Identify identify : identifiers) {
|
||||
if (StringUtils.isBlank(identify.getBizName())) {
|
||||
continue;
|
||||
}
|
||||
if (StringUtils.isBlank(identify.getName())) {
|
||||
identify.setName(identify.getBizName());
|
||||
}
|
||||
identify.setIsCreateDimension(1);
|
||||
}
|
||||
}
|
||||
|
||||
BeanMapper.mapper(modelReq.getModelDetail(), modelDetail);
|
||||
return modelDetail;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ public class TranslatorTest extends BaseTest {
|
||||
.translate(QueryReqBuilder.buildS2SQLReq(sql, dataSetId), User.getDefaultUser());
|
||||
assertNotNull(explain);
|
||||
assertNotNull(explain.getQuerySQL());
|
||||
assertTrue(explain.getQuerySQL().contains("department"));
|
||||
assertTrue(explain.getQuerySQL().contains("user_name"));
|
||||
assertTrue(explain.getQuerySQL().contains("pv"));
|
||||
executeSql(explain.getQuerySQL());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user