提交 084d0a77 编写于 作者: S serge-rider

#2201 Auto-recover after ERD caching

上级 6251f202
......@@ -26,8 +26,10 @@ import org.jkiss.dbeaver.ext.erd.ERDConstants;
import org.jkiss.dbeaver.ext.erd.model.EntityDiagram;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.DBPRefreshableObject;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.model.exec.DBCExecutionContext;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.model.runtime.load.DatabaseLoadService;
import org.jkiss.dbeaver.model.struct.*;
import org.jkiss.dbeaver.runtime.ui.DBUserInterface;
......@@ -200,7 +202,13 @@ public class ERDEditorEmbedded extends ERDEditorPart implements IDatabaseEditor,
monitor.beginTask("Load '" + root.getName() + "' content", 3);
DBSObjectContainer objectContainer = (DBSObjectContainer) root;
try {
objectContainer.cacheStructure(monitor, DBSObjectContainer.STRUCT_ENTITIES | DBSObjectContainer.STRUCT_ASSOCIATIONS | DBSObjectContainer.STRUCT_ATTRIBUTES);
DBUtils.tryExecuteRecover(monitor, objectContainer.getDataSource(), (DBRRunnableWithProgress) param -> {
try {
objectContainer.cacheStructure(monitor, DBSObjectContainer.STRUCT_ENTITIES | DBSObjectContainer.STRUCT_ASSOCIATIONS | DBSObjectContainer.STRUCT_ATTRIBUTES);
} catch (DBException e) {
throw new InvocationTargetException(e);
}
});
} catch (DBException e) {
DBUserInterface.getInstance().showError("Cache database model", "Error caching database model", e);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册