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 2018/05/04 16:23:30 UTC

commons-dbutils git commit: [DBUTILS-138] org.apache.commons.dbutils.QueryRunner.query(Connection, boolean, String, ResultSetHandler< T>, Object...) Exception in closing statement leave connections open.

Repository: commons-dbutils
Updated Branches:
  refs/heads/master e672a7b52 -> b47e288b2


[DBUTILS-138] org.apache.commons.dbutils.QueryRunner.query(Connection,
boolean, String, ResultSetHandler&lt;T>, Object...) Exception in closing
statement leave connections open.

Project: http://git-wip-us.apache.org/repos/asf/commons-dbutils/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-dbutils/commit/b47e288b
Tree: http://git-wip-us.apache.org/repos/asf/commons-dbutils/tree/b47e288b
Diff: http://git-wip-us.apache.org/repos/asf/commons-dbutils/diff/b47e288b

Branch: refs/heads/master
Commit: b47e288b2864853f1a27a33b5a6084b2dadba3c0
Parents: e672a7b
Author: Gary Gregory <ga...@gmail.com>
Authored: Fri May 4 10:23:28 2018 -0600
Committer: Gary Gregory <ga...@gmail.com>
Committed: Fri May 4 10:23:28 2018 -0600

----------------------------------------------------------------------
 src/changes/changes.xml                         |  3 ++
 .../commons/dbutils/AbstractQueryRunner.java    | 30 ++++++++++++++++++++
 .../org/apache/commons/dbutils/QueryRunner.java | 11 +++----
 3 files changed, 37 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-dbutils/blob/b47e288b/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index cd84411..7e88e6b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -54,6 +54,9 @@ The <action> type attribute can be add,update,fix,remove.
       <action dev="ggregory" type="add" issue="DBUTILS-136" due-to="Matthew Hall, Gary Gregory">
         CaseInsensitiveHashMap cannot be accessed by subclasses of BasicRowProcessor; add org.apache.commons.dbutils.BasicRowProcessor.createCaseInsensitiveHashMap(int).
       </action>
+      <action dev="ggregory" type="fix" issue="DBUTILS-138" due-to="Stefano Lissa, Gary Gregory">
+        org.apache.commons.dbutils.QueryRunner.query(Connection, boolean, String, ResultSetHandler&lt;T>, Object...) Exception in closing statement leave connections open.
+      </action>
     </release>
     
     <release version="1.7" date="2017-07-20" description="Bug fixes and separate column &amp; property handlers using SPI">

http://git-wip-us.apache.org/repos/asf/commons-dbutils/blob/b47e288b/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java b/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
index f0c3590..472ed32 100644
--- a/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
+++ b/src/main/java/org/apache/commons/dbutils/AbstractQueryRunner.java
@@ -203,6 +203,36 @@ public abstract class AbstractQueryRunner {
         DbUtils.close(stmt);
     }
 
+    /**
+     * Calls {@link DbUtils#closeQuietly(Connection)}.
+     * 
+     * @param conn Connection to close.
+     * @since 2.0
+     */
+    protected void closeQuietly(Connection conn) {
+        DbUtils.closeQuietly(conn);
+    }
+
+    /**
+     * Calls {@link DbUtils#closeQuietly(ResultSet)}.
+     * 
+     * @param rs ResultSet to close.
+     * @since 2.0
+     */
+    protected void closeQuietly(ResultSet rs) {
+        DbUtils.closeQuietly(rs);
+    }
+
+    /**
+     * Calls {@link DbUtils#closeQuietly(Statement)}.
+     * 
+     * @param statement ResultSet to close.
+     * @since 2.0
+     */
+    protected void closeQuietly(Statement statement) {
+        DbUtils.closeQuietly(statement);
+    }
+
     private void configureStatement(Statement stmt) throws SQLException {
 
         if (stmtConfig != null) {

http://git-wip-us.apache.org/repos/asf/commons-dbutils/blob/b47e288b/src/main/java/org/apache/commons/dbutils/QueryRunner.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/commons/dbutils/QueryRunner.java b/src/main/java/org/apache/commons/dbutils/QueryRunner.java
index 710b629..4a8dc2d 100644
--- a/src/main/java/org/apache/commons/dbutils/QueryRunner.java
+++ b/src/main/java/org/apache/commons/dbutils/QueryRunner.java
@@ -391,13 +391,10 @@ public class QueryRunner extends AbstractQueryRunner {
             this.rethrow(e, sql, params);
 
         } finally {
-            try {
-                close(rs);
-            } finally {
-                close(stmt);
-                if (closeConn) {
-                    close(conn);
-                }
+            closeQuietly(rs);
+            closeQuietly(stmt);
+            if (closeConn) {
+                close(conn);
             }
         }