From: Richard B. <rb...@us...> - 2005-04-01 00:05:26
|
Update of /cvsroot/jcframework/dotnet/Providers/AF_MySQL In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18014/Providers/AF_MySQL Modified Files: CMySQLConnection.vb CMySqlDatabase.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: CMySqlDatabase.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/Providers/AF_MySQL/CMySqlDatabase.vb,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- CMySqlDatabase.vb 15 Mar 2005 11:14:51 -0000 1.3 +++ CMySqlDatabase.vb 1 Apr 2005 00:04:35 -0000 1.4 @@ -311,28 +311,28 @@ '''----------------------------------------------------------------------------- Public Overrides Function getParamHolder(ByVal i As Integer) As String 'Return "?" - 'Return "@p" & CStr(i) - this is the old version - only use if still referencing bytefx - Return "?p" & CStr(i) 'New syntax as of v1.04 of MySQLConnect/NET - End Function + 'Return "@p" & CStr(i) - this is the old version - only use if still referencing bytefx + Return "?p" & CStr(i) 'New syntax as of v1.04 of MySQLConnect/NET + End Function - Public Overrides Function getClauseStringTableAlias(ByVal table As String, ByVal owner As String, ByVal pAlias As String) As String - Return Me.m_name & "." & table & " as " & pAlias - End Function + Public Overrides Function getClauseStringTableAlias(ByVal table As String, ByVal owner As String, ByVal pAlias As String) As String + Return Me.m_name & "." & table & " as " & pAlias + End Function - Public Overloads Overrides Sub Dispose(ByVal disposing As Boolean) - If Not m_disposed Then - If disposing Then - Dim conn As CMySqlConnection - While ConnectionPool.Count > 0 - conn = ConnectionPool.Pop - conn.Dispose() - End While - m_disposed = True - End If - End If - End Sub + Public Overloads Overrides Sub Dispose(ByVal disposing As Boolean) + If Not m_disposed Then + If disposing Then + Dim conn As CMySqlConnection + While ConnectionPool.Count > 0 + conn = ConnectionPool.Pop + conn.Dispose() + End While + m_disposed = True + End If + End If + End Sub - Public Overrides Function supportsSelectOffsets() As Boolean - Return True - End Function + Public Overrides Function supportsSelectOffsets() As Boolean + Return True + End Function End Class Index: CMySQLConnection.vb =================================================================== RCS file: /cvsroot/jcframework/dotnet/Providers/AF_MySQL/CMySQLConnection.vb,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- CMySQLConnection.vb 7 Feb 2005 13:22:07 -0000 1.2 +++ CMySQLConnection.vb 1 Apr 2005 00:04:35 -0000 1.3 @@ -184,12 +184,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 @@ -212,12 +212,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 @@ -335,16 +335,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 |