[commit] r1871 - trunk/GME/GMEActiveBrowser
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Thu Mar 22 15:22:17 CDT 2012
Author: ksmyth
Date: Thu Mar 22 15:22:17 2012
New Revision: 1871
Log:
Use TRANSACTION_NON_NESTED for expensive operations
Modified:
trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
trunk/GME/GMEActiveBrowser/AggregateContextMenu.cpp
trunk/GME/GMEActiveBrowser/AggregateTreeCtrl.cpp
trunk/GME/GMEActiveBrowser/MgaContext.cpp
trunk/GME/GMEActiveBrowser/MgaContext.h
Modified: trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Thu Mar 22 15:22:03 2012 (r1870)
+++ trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Thu Mar 22 15:22:17 2012 (r1871)
@@ -1581,7 +1581,7 @@
COMTHROW(pMgaContext->m_ccpProject->Notify(APPEVENT_LIB_ATTACH_BEGIN));
}
- pMgaContext->BeginTransaction(false);
+ pMgaContext->BeginTransaction(TRANSACTION_NON_NESTED);
COMTHROW(ccpFolder->AttachLibraryV3( CComBSTR( dlg.m_strConnString), dlg.m_bOptimized, NULL));
pMgaContext->CommitTransaction();
@@ -1659,7 +1659,7 @@
if(dlg.DoModal() == IDOK)
{
- pMgaContext->BeginTransaction(false);
+ pMgaContext->BeginTransaction(TRANSACTION_NON_NESTED);
long errs;
if (dlg.relativePath != "") {
Modified: trunk/GME/GMEActiveBrowser/AggregateContextMenu.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/AggregateContextMenu.cpp Thu Mar 22 15:22:03 2012 (r1870)
+++ trunk/GME/GMEActiveBrowser/AggregateContextMenu.cpp Thu Mar 22 15:22:17 2012 (r1871)
@@ -356,7 +356,7 @@
// Starting transaction
CGMEActiveBrowserApp* pApp=(CGMEActiveBrowserApp*)AfxGetApp();
pMgaContext = &pApp->m_CurrentProject.m_MgaContext;
- pMgaContext->BeginTransaction(false);
+ pMgaContext->BeginTransaction(TRANSACTION_NON_NESTED);
while(hSelItem)
{
Modified: trunk/GME/GMEActiveBrowser/AggregateTreeCtrl.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/AggregateTreeCtrl.cpp Thu Mar 22 15:22:03 2012 (r1870)
+++ trunk/GME/GMEActiveBrowser/AggregateTreeCtrl.cpp Thu Mar 22 15:22:17 2012 (r1871)
@@ -871,7 +871,7 @@
BOOL bRetVal=FALSE;
MSGTRY{
- pMgaContext->BeginTransaction(false); // Read/Write Transaction
+ pMgaContext->BeginTransaction(TRANSACTION_NON_NESTED); // Read/Write Transaction
if(MgaObjectProxy.m_TypeInfo==OBJTYPE_FOLDER) // If the drop target is a folder
{
CComQIPtr<IMgaFolder> ccpTargetFolder(MgaObjectProxy.m_pMgaObject);
Modified: trunk/GME/GMEActiveBrowser/MgaContext.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/MgaContext.cpp Thu Mar 22 15:22:03 2012 (r1870)
+++ trunk/GME/GMEActiveBrowser/MgaContext.cpp Thu Mar 22 15:22:17 2012 (r1871)
@@ -40,21 +40,21 @@
bool CMgaContext::BeginTransaction(bool bIsReadOnly)
{
+ return BeginTransaction(bIsReadOnly ? TRANSACTION_READ_ONLY : TRANSACTION_GENERAL);
+}
+
+bool CMgaContext::BeginTransaction(transactiontype_enum type)
+{
// In the event handlers we are already in transaction
- if(m_bEventTransactionMode)return true;
+ if(m_bEventTransactionMode)
+ return true;
if(m_nPendingTransactions==0) // Not in transactions
{
try
{
- COMTHROW(
- m_ccpProject->BeginTransaction(
- m_ccpTerritory,
- bIsReadOnly ? TRANSACTION_READ_ONLY : TRANSACTION_GENERAL
- )
- );
-
+ COMTHROW(m_ccpProject->BeginTransaction(m_ccpTerritory, type));
}
catch (hresult_exception)
{
Modified: trunk/GME/GMEActiveBrowser/MgaContext.h
==============================================================================
--- trunk/GME/GMEActiveBrowser/MgaContext.h Thu Mar 22 15:22:03 2012 (r1870)
+++ trunk/GME/GMEActiveBrowser/MgaContext.h Thu Mar 22 15:22:17 2012 (r1871)
@@ -31,6 +31,7 @@
bool AbortTransaction();
bool CommitTransaction();
bool BeginTransaction(bool bIsReadOnly = true);
+ bool BeginTransaction(transactiontype_enum type);
bool IsInTransaction();
CMgaContext();
virtual ~CMgaContext();
More information about the gme-commit
mailing list