提交 c493849d authored 作者: taojinlong's avatar taojinlong

fix: 精简模式下创建关联数据集失败

上级 8857c995
...@@ -22,7 +22,7 @@ public class MysqlDDLProvider extends DDLProviderImpl { ...@@ -22,7 +22,7 @@ public class MysqlDDLProvider extends DDLProviderImpl {
@Override @Override
public String createView(String name, String viewSQL) { public String createView(String name, String viewSQL) {
return "CREATE VIEW IF NOT EXISTS " + name + " AS (" + viewSQL + ")"; return "CREATE or replace view " + name + " AS (" + viewSQL + ")";
} }
@Override @Override
......
...@@ -962,7 +962,7 @@ public class DataSetTableService { ...@@ -962,7 +962,7 @@ public class DataSetTableService {
} else { } else {
ds = engineService.getDeEngine(); ds = engineService.getDeEngine();
datasourceRequest.setDatasource(ds); datasourceRequest.setDatasource(ds);
sql = getCustomSQLDoris(dataTableInfoDTO, list); sql = getCustomViewSQL(dataTableInfoDTO, list);
} }
Map<String, Object> res = new HashMap<>(); Map<String, Object> res = new HashMap<>();
try { try {
...@@ -1010,8 +1010,8 @@ public class DataSetTableService { ...@@ -1010,8 +1010,8 @@ public class DataSetTableService {
} }
} }
// 自助数据集从doris里预览数据 // 自助数据集从数据引擎(dorsi/mysql/...)里预览数据
private String getCustomSQLDoris(DataTableInfoDTO dataTableInfoDTO, List<DataSetTableUnionDTO> list) { private String getCustomViewSQL(DataTableInfoDTO dataTableInfoDTO, List<DataSetTableUnionDTO> list) {
Map<String, String[]> customInfo = new TreeMap<>(); Map<String, String[]> customInfo = new TreeMap<>();
dataTableInfoDTO.getList().forEach(ele -> { dataTableInfoDTO.getList().forEach(ele -> {
String table = TableUtils.tableName(ele.getTableId()); String table = TableUtils.tableName(ele.getTableId());
...@@ -1519,7 +1519,7 @@ public class DataSetTableService { ...@@ -1519,7 +1519,7 @@ public class DataSetTableService {
dataSetTableFieldsService.batchEdit(fieldList); dataSetTableFieldsService.batchEdit(fieldList);
// custom 创建doris视图 // custom 创建doris视图
if (datasetTable.getMode() == 1) { if (datasetTable.getMode() == 1) {
createDorisView(TableUtils.tableName(datasetTable.getId()), getCustomSQLDoris(dataTableInfoDTO, createDorisView(TableUtils.tableName(datasetTable.getId()), getCustomViewSQL(dataTableInfoDTO,
dataSetTableUnionService.listByTableId(dataTableInfoDTO.getList().get(0).getTableId()))); dataSetTableUnionService.listByTableId(dataTableInfoDTO.getList().get(0).getTableId())));
} }
return; return;
...@@ -1670,11 +1670,11 @@ public class DataSetTableService { ...@@ -1670,11 +1670,11 @@ public class DataSetTableService {
} }
private void createDorisView(String dorisTableName, String customSql) throws Exception { private void createDorisView(String dorisTableName, String customSql) throws Exception {
Datasource dorisDatasource = engineService.getDeEngine(); Datasource engine = engineService.getDeEngine();
JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);
DatasourceRequest datasourceRequest = new DatasourceRequest(); DatasourceRequest datasourceRequest = new DatasourceRequest();
datasourceRequest.setDatasource(dorisDatasource); datasourceRequest.setDatasource(engine);
DDLProvider ddlProvider = ProviderFactory.getDDLProvider(dorisDatasource.getType()); DDLProvider ddlProvider = ProviderFactory.getDDLProvider(engine.getType());
// 先删除表 // 先删除表
datasourceRequest.setQuery(ddlProvider.dropView(dorisTableName)); datasourceRequest.setQuery(ddlProvider.dropView(dorisTableName));
jdbcProvider.exec(datasourceRequest); jdbcProvider.exec(datasourceRequest);
...@@ -2184,21 +2184,21 @@ public class DataSetTableService { ...@@ -2184,21 +2184,21 @@ public class DataSetTableService {
private UtilMapper utilMapper; private UtilMapper utilMapper;
public void updateDatasetTableStatus() { public void updateDatasetTableStatus() {
if(this.isUpdatingDatasetTableStatus){ if (this.isUpdatingDatasetTableStatus) {
return; return;
}else { } else {
this.isUpdatingDatasetTableStatus = true; this.isUpdatingDatasetTableStatus = true;
} }
try { try {
doUpdate(); doUpdate();
}catch (Exception e){} } catch (Exception e) {
finally { } finally {
this.isUpdatingDatasetTableStatus = false; this.isUpdatingDatasetTableStatus = false;
} }
} }
private void doUpdate(){ private void doUpdate() {
List<QrtzSchedulerState> qrtzSchedulerStates = qrtzSchedulerStateMapper.selectByExample(null); List<QrtzSchedulerState> qrtzSchedulerStates = qrtzSchedulerStateMapper.selectByExample(null);
List<String> activeQrtzInstances = qrtzSchedulerStates.stream() List<String> activeQrtzInstances = qrtzSchedulerStates.stream()
.filter(qrtzSchedulerState -> qrtzSchedulerState.getLastCheckinTime() .filter(qrtzSchedulerState -> qrtzSchedulerState.getLastCheckinTime()
...@@ -2250,6 +2250,7 @@ public class DataSetTableService { ...@@ -2250,6 +2250,7 @@ public class DataSetTableService {
extractDataService.deleteFile("incremental_delete", jobStoppeddDatasetTable.getId()); extractDataService.deleteFile("incremental_delete", jobStoppeddDatasetTable.getId());
} }
} }
/* /*
* 判断数组中是否有重复的值 * 判断数组中是否有重复的值
*/ */
......
...@@ -115,6 +115,7 @@ ...@@ -115,6 +115,7 @@
<script> <script>
import { isKettleRunning, post } from '@/api/dataset/dataset' import { isKettleRunning, post } from '@/api/dataset/dataset'
import {engineMode} from "@/api/system/engine";
export default { export default {
name: 'DatasetGroupSelector', name: 'DatasetGroupSelector',
...@@ -219,6 +220,9 @@ export default { ...@@ -219,6 +220,9 @@ export default {
}, },
created() { created() {
this.kettleState() this.kettleState()
engineMode().then(res => {
this.engineMode = res.data
})
}, },
methods: { methods: {
filterNode(value, data) { filterNode(value, data) {
...@@ -271,7 +275,7 @@ export default { ...@@ -271,7 +275,7 @@ export default {
return !(ele.mode === 0 && ele.type === 'sql') return !(ele.mode === 0 && ele.type === 'sql')
}) })
for (let i = 0; i < this.tables.length; i++) { for (let i = 0; i < this.tables.length; i++) {
if (this.tables[i].mode === 1 && this.kettleRunning === false) { if (this.tables[i].mode === 1 && this.kettleRunning === false && this.engineMode !== 'simple' ) {
this.$set(this.tables[i], 'disabled', true) this.$set(this.tables[i], 'disabled', true)
} }
} }
......
...@@ -182,7 +182,7 @@ export default { ...@@ -182,7 +182,7 @@ export default {
sourceFieldOption: [], sourceFieldOption: [],
targetFieldOption: [], targetFieldOption: [],
targetTable: {}, targetTable: {},
customType: ['db', 'sql', 'excel'] customType: ['db', 'sql', 'excel', 'api']
} }
}, },
watch: { watch: {
...@@ -207,7 +207,7 @@ export default { ...@@ -207,7 +207,7 @@ export default {
if (this.table.mode === 0) { if (this.table.mode === 0) {
this.customType = ['db'] this.customType = ['db']
} else { } else {
this.customType = ['db', 'sql', 'excel'] this.customType = ['db', 'sql', 'excel', 'api']
} }
post('dataset/union/listByTableId/' + this.table.id, {}).then(response => { post('dataset/union/listByTableId/' + this.table.id, {}).then(response => {
// console.log(response) // console.log(response)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论