================================================================================
Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/sessions/UnitOfWorkImpl.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf934_061005/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.26
Report generated at Thu Oct  5 10:59:12 2006
--------------------------------------------------------------------------------
*** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf934_061005/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.26	Thu Oct  5 10:07:19 2006
--- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/sessions/UnitOfWorkImpl.java	Thu Oct  5 10:59:12 2006
***************
*** 1168,1180 ****
          setWasNonObjectLevelModifyQueryExecuted(false);
          if (hasModifications() || wasTransactionBegunPrematurely()) {
               try{
                  // if we should be acquiring locks before commit let's do that here 
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getUnitOfWorkChangeSet() != null)) {
                      setMergeManager(new MergeManager(this));
                      //If we are merging into the shared cache acquire all required locks before merging.
                      getParent().getIdentityMapAccessorInstance().getWriteLockManager().acquireRequiredLocks(getMergeManager(), (UnitOfWorkChangeSet)getUnitOfWorkChangeSet());
                  }
-                 setWasTransactionBegunPrematurely(false);
                  commitTransaction();
              }catch (RuntimeException exception){
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getMergeManager() != null)) {
--- 1168,1181 ----
          setWasNonObjectLevelModifyQueryExecuted(false);
          if (hasModifications() || wasTransactionBegunPrematurely()) {
               try{
+                 //gf934: ensuring release doesn't cause an extra rollback call if acquireRequiredLocks throws an exception
+                 setWasTransactionBegunPrematurely(false);
                  // if we should be acquiring locks before commit let's do that here 
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getUnitOfWorkChangeSet() != null)) {
                      setMergeManager(new MergeManager(this));
                      //If we are merging into the shared cache acquire all required locks before merging.
                      getParent().getIdentityMapAccessorInstance().getWriteLockManager().acquireRequiredLocks(getMergeManager(), (UnitOfWorkChangeSet)getUnitOfWorkChangeSet());
                  }
                  commitTransaction();
              }catch (RuntimeException exception){
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getMergeManager() != null)) {
================================================================================
Merge Diffs: /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/sessions/UnitOfWorkImpl.java vs. /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf934_061005/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.26
Report generated at Thu Oct  5 10:59:28 2006
--------------------------------------------------------------------------------
*** /net/stottnfs2.ca.oracle.com/vol/vol1/ade_ottawa_txn/cdelahun/cdelahun_ri_gf934_061005/ade_storage/000001/AB0952363AC40CBFE034080020E8C54E.26	Thu Oct  5 10:07:19 2006
--- /ade/cdelahun_toplinkmain/tldev/source/essentials/oracle/toplink/essentials/internal/sessions/UnitOfWorkImpl.java	Thu Oct  5 10:59:12 2006
***************
*** 1168,1180 ****
          setWasNonObjectLevelModifyQueryExecuted(false);
          if (hasModifications() || wasTransactionBegunPrematurely()) {
               try{
                  // if we should be acquiring locks before commit let's do that here 
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getUnitOfWorkChangeSet() != null)) {
                      setMergeManager(new MergeManager(this));
                      //If we are merging into the shared cache acquire all required locks before merging.
                      getParent().getIdentityMapAccessorInstance().getWriteLockManager().acquireRequiredLocks(getMergeManager(), (UnitOfWorkChangeSet)getUnitOfWorkChangeSet());
                  }
-                 setWasTransactionBegunPrematurely(false);
                  commitTransaction();
              }catch (RuntimeException exception){
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getMergeManager() != null)) {
--- 1168,1181 ----
          setWasNonObjectLevelModifyQueryExecuted(false);
          if (hasModifications() || wasTransactionBegunPrematurely()) {
               try{
+                 //gf934: ensuring release doesn't cause an extra rollback call if acquireRequiredLocks throws an exception
+                 setWasTransactionBegunPrematurely(false);
                  // if we should be acquiring locks before commit let's do that here 
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getUnitOfWorkChangeSet() != null)) {
                      setMergeManager(new MergeManager(this));
                      //If we are merging into the shared cache acquire all required locks before merging.
                      getParent().getIdentityMapAccessorInstance().getWriteLockManager().acquireRequiredLocks(getMergeManager(), (UnitOfWorkChangeSet)getUnitOfWorkChangeSet());
                  }
                  commitTransaction();
              }catch (RuntimeException exception){
                  if (getDatasourceLogin().shouldSynchronizeObjectLevelReadWriteDatabase() && (getMergeManager() != null)) {