Author: tomdz
Date: Sun Jan  8 04:05:15 2006
New Revision: 367022

URL: http://svn.apache.org/viewcvs?rev=367022&view=rev
Log:
Fixed connection leak

Modified:
    
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
    
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java

Modified: 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
URL: 
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java?rev=367022&r1=367021&r2=367022&view=diff
==============================================================================
--- 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
 (original)
+++ 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/ModelBasedResultSetIterator.java
 Sun Jan  8 04:05:15 2006
@@ -302,19 +302,21 @@
     {
         if (_cleanUpAfterFinish && (_resultSet != null))
         {
+            Connection conn = null;
             try
             {
-                Statement  stmt = _resultSet.getStatement();
-                Connection conn = stmt.getConnection();
+                Statement stmt = _resultSet.getStatement();
+
+                conn = stmt.getConnection();
 
                 // also closes the resultset
-                stmt.close();
-                conn.close();
+                _platform.closeStatement(stmt);
             }
             catch (SQLException ex)
             {
                 // we ignore it
             }
+            _platform.returnConnection(conn);
             _resultSet = null;
         }
     }

Modified: 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java
URL: 
http://svn.apache.org/viewcvs/db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java?rev=367022&r1=367021&r2=367022&view=diff
==============================================================================
--- 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java 
(original)
+++ 
db/ddlutils/trunk/src/java/org/apache/ddlutils/platform/PlatformImplBase.java 
Sun Jan  8 04:05:15 2006
@@ -1416,7 +1416,16 @@
      */    
     public Database readModelFromDatabase(String name) throws DynaSqlException
     {
-        return readModelFromDatabase(borrowConnection(), name);
+        Connection connection = borrowConnection();
+
+        try
+        {
+            return readModelFromDatabase(connection, name);
+        }
+        finally
+        {
+            returnConnection(connection);
+        }
     }
 
     /**


Reply via email to