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