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]

Reply via email to