You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2009/01/27 23:41:49 UTC

svn commit: r738288 - /commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java

Author: niallp
Date: Tue Jan 27 22:41:49 2009
New Revision: 738288

URL: http://svn.apache.org/viewvc?rev=738288&view=rev
Log:
DBCP-264 Clear batch when passivating PoolablePreparedStatement - raised by Hauke Rabe

Modified:
    commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java

Modified: commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java?rev=738288&r1=738287&r2=738288&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java (original)
+++ commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/PoolablePreparedStatement.java Tue Jan 27 22:41:49 2009
@@ -49,6 +49,8 @@
      */
     protected Object _key = null;
 
+    private volatile boolean batchAdded = false;
+
     /**
      * Constructor
      * @param stmt my underlying {@link PreparedStatement}
@@ -69,6 +71,24 @@
     }
 
     /**
+     * Add batch.
+     */
+    @Override
+    public void addBatch() throws SQLException {
+        super.addBatch();
+        batchAdded = true;
+    }
+
+    /**
+     * Clear Batch.
+     */
+    @Override
+    public void clearBatch() throws SQLException {
+        batchAdded = false;
+        super.clearBatch();
+    }
+
+    /**
      * Return me to my pool.
      */
     public void close() throws SQLException {
@@ -112,6 +132,9 @@
             }
             clearTrace();
         }
+        if (batchAdded) {
+            clearBatch();
+        }
         
         super.passivate();
     }