feat(fix):删除数据集,同时删除关联视图的关联关系
This commit is contained in:
parent
9d142bcfc8
commit
ee5e4ac055
@ -132,6 +132,8 @@ public class DataSetTableService {
|
|||||||
dataSetTableFieldsService.deleteByTableId(id);
|
dataSetTableFieldsService.deleteByTableId(id);
|
||||||
// 删除同步任务
|
// 删除同步任务
|
||||||
dataSetTableTaskService.deleteByTableId(id);
|
dataSetTableTaskService.deleteByTableId(id);
|
||||||
|
// 删除关联关系
|
||||||
|
dataSetTableUnionService.deleteUnionByTableId(id);
|
||||||
try {
|
try {
|
||||||
deleteDorisTable(id, table);
|
deleteDorisTable(id, table);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -359,7 +361,7 @@ public class DataSetTableService {
|
|||||||
datasourceRequest.setDatasource(ds);
|
datasourceRequest.setDatasource(ds);
|
||||||
String sql = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getSql();
|
String sql = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getSql();
|
||||||
// 使用输入的sql先预执行一次,并拿到所有字段
|
// 使用输入的sql先预执行一次,并拿到所有字段
|
||||||
if(StringUtils.isEmpty(sql)){
|
if (StringUtils.isEmpty(sql)) {
|
||||||
throw new Exception(Translator.get("i18n_sql_not_empty"));
|
throw new Exception(Translator.get("i18n_sql_not_empty"));
|
||||||
}
|
}
|
||||||
datasourceRequest.setQuery(sql);
|
datasourceRequest.setQuery(sql);
|
||||||
@ -874,14 +876,15 @@ public class DataSetTableService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Boolean checkDorisTableIsExists(String id) throws Exception {
|
public Boolean checkDorisTableIsExists(String id) throws Exception {
|
||||||
Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource");
|
// Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource");
|
||||||
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(dorisDatasource);
|
||||||
QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType());
|
// QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType());
|
||||||
datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id)));
|
// datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id)));
|
||||||
List<String[]> data = jdbcProvider.getData(datasourceRequest);
|
// List<String[]> data = jdbcProvider.getData(datasourceRequest);
|
||||||
return CollectionUtils.isNotEmpty(data);
|
// return CollectionUtils.isNotEmpty(data);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|||||||
@ -76,6 +76,14 @@ public class DataSetTableUnionService {
|
|||||||
return sourceList;
|
return sourceList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void deleteUnionByTableId(String tableId) {
|
||||||
|
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
||||||
|
DatasetTableUnionExample.Criteria criteriaSource = datasetTableUnionExample.createCriteria().andSourceTableIdEqualTo(tableId);
|
||||||
|
DatasetTableUnionExample.Criteria criteriaTarget = datasetTableUnionExample.createCriteria().andTargetTableIdEqualTo(tableId);
|
||||||
|
datasetTableUnionExample.or(criteriaTarget);
|
||||||
|
datasetTableUnionMapper.deleteByExample(datasetTableUnionExample);
|
||||||
|
}
|
||||||
|
|
||||||
private void checkUnion(DatasetTableUnion datasetTableUnion) {
|
private void checkUnion(DatasetTableUnion datasetTableUnion) {
|
||||||
// check 关联关系是否存在
|
// check 关联关系是否存在
|
||||||
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user