diff --git a/designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java b/designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java index 73da78151..ec05732c6 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java +++ b/designer-base/src/main/java/com/fr/design/gui/ilist/TableViewList.java @@ -109,10 +109,9 @@ public class TableViewList extends UIList { String[] schemas = DataCoreUtils.getDatabaseSchema(datasource); schemas = (schemas == null || schemas.length == 0) ? new String[]{null} : schemas; for (String schema : schemas) { - DataCoreUtils.refreshTables(datasource, TableProcedure.TABLE, schema); - DataCoreUtils.refreshTables(datasource, TableProcedure.VIEW, schema); - DataCoreUtils.refreshTables(datasource, TableProcedure.PROCEDURE, schema); + clearCache(datasource, schema); } + clearCache(datasource, null); return processDataInAnotherThread(databaseName, searchFilter, typesFilter); } @@ -133,6 +132,12 @@ public class TableViewList extends UIList { } } + private void clearCache(Connection datasource, String schema) { + DataCoreUtils.refreshTables(datasource, TableProcedure.TABLE, schema); + DataCoreUtils.refreshTables(datasource, TableProcedure.VIEW, schema); + DataCoreUtils.refreshTables(datasource, TableProcedure.PROCEDURE, schema); + } + /** * august:databaseName是数据库名字,searchFilter是输入的过滤条件,typesFilter是视图、表、 * 存储过程中的一者或者几者