From 3800973a69c23deb5c770e8032074244f50f5b9a Mon Sep 17 00:00:00 2001
From: Valery Kharseko <vharseko@3a-systems.ru>
Date: Thu, 20 Aug 2026 09:02:47 +0000
Subject: [PATCH] Stamp JDBC backend tables with their tree name and refresh optimizer statistics after import (#866)

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/jdbc/CachedConnection.java |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jdbc/CachedConnection.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jdbc/CachedConnection.java
index f752ca5..188f7ba 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jdbc/CachedConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jdbc/CachedConnection.java
@@ -95,12 +95,18 @@
                 return con;
             }
         }
+        Connection conNew = null;
         try {
-            final Connection conNew = DriverManager.getConnection(connectionString);
+            conNew = DriverManager.getConnection(connectionString);
             conNew.setAutoCommit(false);
             conNew.setTransactionIsolation(TRANSACTION_READ_COMMITTED);
             return new CachedConnection(connectionString, conNew);
         } catch (SQLException e) { // max_connection server error: try recursion for reuse connection
+            if (conNew != null) { // the connection was established but not set up: nothing else would close it
+                try {
+                    conNew.close();
+                } catch (SQLException e2) {}
+            }
             return getConnection(connectionString, (waitTime == 0) ? 1 : waitTime * 2);
         }
     }

--
Gitblit v1.10.0