Update of /cvsroot/jcframework/dotnet/Providers/AF_OLEDB
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18014/Providers/AF_OLEDB
Modified Files:
COleDBConnection.vb
Log Message:
Fixes for a number of issues with injected objects.
Fixes for transactions when errors occur during the rollback, etc
Fixes for removing event listeners from objects added to the cache to prevent multiple event firing.
Index: COleDBConnection.vb
===================================================================
RCS file: /cvsroot/jcframework/dotnet/Providers/AF_OLEDB/COleDBConnection.vb,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- COleDBConnection.vb 11 Mar 2005 04:40:56 -0000 1.2
+++ COleDBConnection.vb 1 Apr 2005 00:04:36 -0000 1.3
@@ -173,12 +173,12 @@
End If
End If
If Me.ManageTransactions Then
+ m_transactioncalls += 1
If Not Me.Started Then
+ Me.Started = True
m_transaction = m_connection.BeginTransaction
getPersistenceBrokerInstance().startCacheTransaction(Me.Database)
End If
- m_transactioncalls += 1
- Me.Started = True
End If
End Sub
@@ -293,16 +293,17 @@
End If
End If
If Me.ManageTransactions Then
- If m_transactioncalls = 1 Then
+ m_transactioncalls -= 1
+ If m_transactioncalls = 0 Then
Try
m_transaction.Rollback()
+ Me.Started = False
+ m_transaction = Nothing
Catch ex As Exception
+ Debug.WriteLine("rollback failed " & ex.Message)
End Try
getPersistenceBrokerInstance().rollbackCache(Me.Database)
- Me.Started = False
- m_transaction = Nothing
End If
- m_transactioncalls -= 1
End If
End Sub
@@ -404,12 +405,12 @@
End If
End If
If Me.ManageTransactions Then
+ m_transactioncalls += 1
If Not Me.Started Then
+ Me.Started = True
m_transaction = m_connection.BeginTransaction(isolationLevel)
getPersistenceBrokerInstance().startCacheTransaction(Me.Database)
End If
- m_transactioncalls += 1
- Me.Started = True
End If
End Sub
|