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 {