diff --git a/common/src/main/java/com/tencent/supersonic/common/pojo/enums/EngineType.java b/common/src/main/java/com/tencent/supersonic/common/pojo/enums/EngineType.java index 8b70cf97a..09de94ca5 100644 --- a/common/src/main/java/com/tencent/supersonic/common/pojo/enums/EngineType.java +++ b/common/src/main/java/com/tencent/supersonic/common/pojo/enums/EngineType.java @@ -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; diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DatabaseServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DatabaseServiceImpl.java index b0288b4eb..3d8457646 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DatabaseServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/DatabaseServiceImpl.java @@ -202,7 +202,8 @@ public class DatabaseServiceImpl extends ServiceImpl 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)); } diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java index e8300cbd2..ac7c2642d 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/utils/ModelConverter.java @@ -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 measures = modelReq.getModelDetail().getMeasures(); - if (measures == null) { - measures = Lists.newArrayList(); - } - for (Measure measure : measures) { - if (StringUtils.isBlank(measure.getBizName())) { - continue; + List dimensions = modelReq.getModelDetail().getDimensions(); + List 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; } diff --git a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/TranslatorTest.java b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/TranslatorTest.java index a7978d8fd..127e29d6a 100644 --- a/launchers/standalone/src/test/java/com/tencent/supersonic/headless/TranslatorTest.java +++ b/launchers/standalone/src/test/java/com/tencent/supersonic/headless/TranslatorTest.java @@ -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()); }