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();
     }


Reply via email to