From 3ae574e78ce06ba642d2555644f32f8715240548 Mon Sep 17 00:00:00 2001 From: serge-rider Date: Fri, 7 Oct 2016 14:13:54 +0300 Subject: [PATCH] Refresh fix: do not refresh not-persisted objects Former-commit-id: d02a6471b1d205799db0ef3f6befae5d87bd1311 --- .../model/navigator/DBNDatabaseNode.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java index 24bebf9643..ca8f9b59b7 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/navigator/DBNDatabaseNode.java @@ -302,14 +302,19 @@ public abstract class DBNDatabaseNode extends DBNNode implements DBSWrapper, DBP } DBSObject object = getObject(); if (object instanceof DBPRefreshableObject) { - DBSObject newObject = ((DBPRefreshableObject) object).refreshObject(monitor); - if (newObject == null) { - if (parentNode instanceof DBNDatabaseNode) { - ((DBNDatabaseNode) parentNode).removeChildItem(object); + if (object.isPersisted()) { + DBSObject newObject = ((DBPRefreshableObject) object).refreshObject(monitor); + if (newObject == null) { + if (parentNode instanceof DBNDatabaseNode) { + ((DBNDatabaseNode) parentNode).removeChildItem(object); + } + return null; + } else { + refreshNodeContent(monitor, newObject, source); + return this; } - return null; } else { - refreshNodeContent(monitor, newObject, source); + // Not persisted node - nothing to refresh return this; } } else { -- GitLab