Author: dain Date: Mon Jul 23 13:02:19 2007 New Revision: 558850 URL: http://svn.apache.org/viewvc?view=rev&rev=558850 Log: DBCP-207 only set auto-commit and read-only if the new value would be different from the current value
Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/PerUserPoolDataSource.java jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/PerUserPoolDataSource.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/PerUserPoolDataSource.java?view=diff&rev=558850&r1=558849&r2=558850 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/PerUserPoolDataSource.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/PerUserPoolDataSource.java Mon Jul 23 13:02:19 2007 @@ -415,11 +415,17 @@ } } - con.setAutoCommit(defaultAutoCommit); + if (con.getAutoCommit() != defaultAutoCommit) { + con.setAutoCommit(defaultAutoCommit); + } + if (defaultTransactionIsolation != UNKNOWN_TRANSACTIONISOLATION) { con.setTransactionIsolation(defaultTransactionIsolation); } - con.setReadOnly(defaultReadOnly); + + if (con.isReadOnly() != defaultReadOnly) { + con.setReadOnly(defaultReadOnly); + } } /** Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java?view=diff&rev=558850&r1=558849&r2=558850 ============================================================================== --- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java (original) +++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java Mon Jul 23 13:02:19 2007 @@ -222,14 +222,21 @@ isRollbackAfterValidation()); } - protected void setupDefaults(Connection con, String username) - throws SQLException { - con.setAutoCommit(isDefaultAutoCommit()); + protected void setupDefaults(Connection con, String username) throws SQLException { + boolean defaultAutoCommit = isDefaultAutoCommit(); + if (con.getAutoCommit() != defaultAutoCommit) { + con.setAutoCommit(defaultAutoCommit); + } + int defaultTransactionIsolation = getDefaultTransactionIsolation(); if (defaultTransactionIsolation != UNKNOWN_TRANSACTIONISOLATION) { con.setTransactionIsolation(defaultTransactionIsolation); } - con.setReadOnly(isDefaultReadOnly()); + + boolean defaultReadOnly = isDefaultReadOnly(); + if (con.isReadOnly() != defaultReadOnly) { + con.setReadOnly(defaultReadOnly); + } } /** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]