[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