Author: cbegin
Date: Tue Mar 23 02:46:53 2010
New Revision: 926441

URL: http://svn.apache.org/viewvc?rev=926441&view=rev
Log:
fixed transactional cache that was not committing implicitly on session close

Modified:
    
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
    
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/external/ExternalTransaction.java
 Tue Mar 23 02:46:53 2010
@@ -61,7 +61,7 @@ public class ExternalTransaction extends
       try {
         
isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
-        executor.close();
+        executor.close(false);
         executor = null;
       }
     }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jdbc/JdbcTransaction.java
 Tue Mar 23 02:46:53 2010
@@ -61,7 +61,7 @@ public class JdbcTransaction extends Bas
       try {
         
isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
-        executor.close();
+        executor.close(false);
         executor = null;
       }
     }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-compat/src/main/java/com/ibatis/sqlmap/engine/transaction/jta/JtaTransaction.java
 Tue Mar 23 02:46:53 2010
@@ -106,7 +106,7 @@ public class JtaTransaction extends Base
       try {
         
isolationLevel.restoreIsolationLevel(executor.getTransaction().getConnection());
       } finally {
-        executor.close();
+        executor.close(false);
         executor = null;
       }
     }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/BaseExecutor.java
 Tue Mar 23 02:46:53 2010
@@ -43,9 +43,13 @@ public abstract class BaseExecutor imple
     return transaction;
   }
 
-  public void close() {
+  public void close(boolean forceRollback) {
     try {
-      if (transaction != null) transaction.close();
+      try {
+        rollback(forceRollback);
+      } finally {
+        if (transaction != null) transaction.close();
+      }
     } catch (SQLException e) {
       // Ignore.  There's nothing that can be done at this point.
     } finally {

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/CachingExecutor.java
 Tue Mar 23 02:46:53 2010
@@ -25,11 +25,15 @@ public class CachingExecutor implements 
     return delegate.getTransaction();
   }
 
-  public void close() {
-    delegate.close();
-    tcm.commit();
+  public void close(boolean forceRollback) {
+    try {
+      tcm.commit();
+    } finally {
+      delegate.close(forceRollback);
+    }
   }
 
+
   public boolean isClosed() {
     return delegate.isClosed();
   }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/Executor.java
 Tue Mar 23 02:46:53 2010
@@ -34,8 +34,8 @@ public interface Executor {
 
   Transaction getTransaction();
 
-  void close();
-
+  void close(boolean forceRollback);
+  
   boolean isClosed();
 
 }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java
 Tue Mar 23 02:46:53 2010
@@ -72,7 +72,7 @@ public class ResultLoader {
       return localExecutor.query(mappedStatement, parameterObject, 
RowBounds.DEFAULT, Executor.NO_RESULT_HANDLER);
     } finally {
       if (localExecutor != executor) {
-        localExecutor.close();
+        localExecutor.close(false);
       }
     }
   }

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/main/java/org/apache/ibatis/session/defaults/DefaultSqlSession.java
 Tue Mar 23 02:46:53 2010
@@ -143,11 +143,8 @@ public class DefaultSqlSession implement
 
   public void close() {
     try {
-      try {
-        rollback(false);
-      } finally {
-        executor.close();
-      }
+      executor.close(isCommitOrRollbackRequired(false));
+      dirty = false;
     } catch (Exception e) {
       throw ExceptionFactory.wrapException("Error closing transaction.  Cause: 
" + e, e);
     } finally {

Modified: 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
URL: 
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java?rev=926441&r1=926440&r2=926441&view=diff
==============================================================================
--- 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
 (original)
+++ 
ibatis/java/ibatis-3/trunk/ibatis-3-core/src/test/java/org/apache/ibatis/binding/BoundBlogMapper.java
 Tue Mar 23 02:46:53 2010
@@ -9,7 +9,7 @@ import org.apache.ibatis.session.RowBoun
 import java.util.List;
 import java.util.Map;
 
-...@cachenamespace
+...@cachenamespace(readWrite = false)
 public interface BoundBlogMapper {
 
   //======================================================


Reply via email to