Fixed auto-commit modes and transaction isolation levels.
authorMarco Zanon <info@marcozanon.com>
Thu, 26 Jan 2012 22:33:39 +0000 (22:33 +0000)
committerMarco Zanon <info@marcozanon.com>
Thu, 26 Jan 2012 22:33:39 +0000 (22:33 +0000)
src/java/com/marcozanon/macaco/sql/MSqlConnection.java

index 3b5779b3ef335f6315a3266ab83ce3ae3bf3aa8b..4ade2c93fc98b2877322fbc9f2b6a9ef395d36ac 100644 (file)
@@ -166,6 +166,7 @@ public class MSqlConnection extends MObject {
             throw new MTransactionSqlException("Nested transactions not allowed.");
         }
         try {
+            this.getConnectionReference().setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
             this.getConnectionReference().setAutoCommit(false);
             this.setTransactionStatus(MSqlConnection.TransactionStatus.SUCCESSFUL);
         }
@@ -180,6 +181,7 @@ public class MSqlConnection extends MObject {
         }
         try {
             this.getConnectionReference().rollback();
+            this.getConnectionReference().setAutoCommit(true);
             this.setTransactionStatus(MSqlConnection.TransactionStatus.CLOSED);
         }
         catch (SQLException exception) {
@@ -193,6 +195,7 @@ public class MSqlConnection extends MObject {
             case SUCCESSFUL:
                 try {
                     this.getConnectionReference().commit();
+                    this.getConnectionReference().setAutoCommit(true);
                     this.setTransactionStatus(MSqlConnection.TransactionStatus.CLOSED);
                     return MSqlConnection.TransactionStatus.SUCCESSFUL;
                 }