You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2023/07/31 19:36:21 UTC

[commons-dbutils] 07/08: ResultSet not closed in QueryRunner.insert(Connection, String, ResultSetHandler, Object...).

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git

commit 2b43139285117af6713cec6c8d2736c0b7c6b397
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Mon Jul 31 15:11:40 2023 -0400

    ResultSet not closed in QueryRunner.insert(Connection, String,
    ResultSetHandler, Object...).
---
 src/changes/changes.xml                                   | 6 ++++++
 src/main/java/org/apache/commons/dbutils/QueryRunner.java | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 1bebfd2..a102456 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -69,6 +69,12 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" due-to="Amey Jadiye" type="fix">
         Correction of coverage badge #10.
       </action>
+      <action dev="ggregory" due-to="Gary Gregory" type="fix">
+        Manage JDBC objects using try-with-resources.
+      </action>
+      <action dev="ggregory" due-to="Gary Gregory" type="fix">
+        ResultSet not closed in QueryRunner.insert(Connection, String, ResultSetHandler, Object...).
+      </action>
       <!-- ADD -->
       <action dev="thecarlhall" type="add" issue="PR/9" due-to="rewerma">
         Add @Column annotation to hint the field name instead of dissecting the get method name.
diff --git a/src/main/java/org/apache/commons/dbutils/QueryRunner.java b/src/main/java/org/apache/commons/dbutils/QueryRunner.java
index 39e9edb..6fb1968 100644
--- a/src/main/java/org/apache/commons/dbutils/QueryRunner.java
+++ b/src/main/java/org/apache/commons/dbutils/QueryRunner.java
@@ -405,8 +405,9 @@ public class QueryRunner extends AbstractQueryRunner {
                 stmt = conn.createStatement();
                 stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
             }
-            final ResultSet resultSet = stmt.getGeneratedKeys();
-            generatedKeys = rsh.handle(resultSet);
+            try (ResultSet resultSet = stmt.getGeneratedKeys()) {
+                generatedKeys = rsh.handle(resultSet);
+            }
         } catch (final SQLException e) {
             this.rethrow(e, sql, params);
         } finally {