From 5d071e5dfd5dec601cc674c8bfdf02735bfdd55d Mon Sep 17 00:00:00 2001 From: DenisSinelnikov <142215442+DenisSinelnikov@users.noreply.github.com> Date: Wed, 7 Aug 2024 19:12:11 +0400 Subject: [PATCH] CB-5255. Fixed cb error when you tried delete node twice, return error from database (#2828) Co-authored-by: Evgenia Bezborodova <139753579+EvgeniaBzzz@users.noreply.github.com> --- .../service/navigator/impl/WebServiceNavigator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/impl/WebServiceNavigator.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/impl/WebServiceNavigator.java index 82e08f1b8f..28f54520c8 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/impl/WebServiceNavigator.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/navigator/impl/WebServiceNavigator.java @@ -530,7 +530,12 @@ public class WebServiceNavigator implements DBWServiceNavigator { DBCExecutionContext executionContext = getCommandExecutionContext(object); DBECommandContext commandContext = new WebCommandContext(executionContext, false); ne.getValue().deleteObject(commandContext, object, options); - commandContext.saveChanges(session.getProgressMonitor(), options); + try { + commandContext.saveChanges(session.getProgressMonitor(), options); + } catch (DBException e) { + commandContext.resetChanges(true); + throw e; + } } else if (node instanceof DBNLocalFolder) { var nodePath = node.getNodeItemPath(); node.getOwnerProject().getDataSourceRegistry().removeFolder(((DBNLocalFolder) node).getFolder(), false);