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 <garydgreg...@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 {