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