[commit] r1440 - trunk/GME/Mga

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue Jul 26 11:08:00 CDT 2011


Author: ksmyth
Date: Tue Jul 26 11:08:00 2011
New Revision: 1440

Log:
Fewer nested transactions under MGAPREF_NO_NESTED_TX

Modified:
   trunk/GME/Mga/MgaAttribute.cpp
   trunk/GME/Mga/MgaConnection.cpp
   trunk/GME/Mga/MgaFCO.cpp
   trunk/GME/Mga/MgaFolder.cpp
   trunk/GME/Mga/MgaModel.cpp
   trunk/GME/Mga/MgaReference.cpp

Modified: trunk/GME/Mga/MgaAttribute.cpp
==============================================================================
--- trunk/GME/Mga/MgaAttribute.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaAttribute.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -183,7 +183,7 @@
 
 
 STDMETHODIMP CMgaAttribute::put_Value(VARIANT newVal) {
-		COMTRY_IN_TRANSACTION {
+		COMTRY_IN_TRANSACTION_MAYBE {
 			CHECK_INPAR(newVal);
 			fco->CheckWrite();
 			if(load_status == ATTSTATUS_INVALID) {
@@ -238,7 +238,7 @@
 				COMTHROW(get_Owner(&p));
 				attrnotifytask().DoWithDeriveds(fco->self);
 			}
-		} COMCATCH_IN_TRANSACTION(;)
+		} COMCATCH_IN_TRANSACTION_MAYBE(;)
 }
 
 
@@ -699,7 +699,7 @@
 
 
 STDMETHODIMP CMgaRegNode::put_Value(BSTR newVal) {
-		COMTRY_IN_TRANSACTION {
+		COMTRY_IN_TRANSACTION_MAYBE {
 			CHECK_INSTRPAR(newVal);
 			fco->CheckWrite();
 			long dummy;
@@ -710,7 +710,7 @@
 			long flags = valueobj[ATTRID_REGFLAGS];
 			if(!(flags & RFLAG_HASVALUE)) valueobj[ATTRID_REGFLAGS] = flags | RFLAG_HASVALUE;
 			markchg();
-		} COMCATCH_IN_TRANSACTION(;)
+		} COMCATCH_IN_TRANSACTION_MAYBE(;)
 }
 
 STDMETHODIMP CMgaRegNode::put_FCOValue(IMgaFCO *newVal) {
@@ -985,14 +985,14 @@
 }
 
 STDMETHODIMP CMgaPart::put_RegistryValue( BSTR path,  BSTR newval) {  
-		COMTRY_IN_TRANSACTION {
+		COMTRY_IN_TRANSACTION_MAYBE {
 			fco->CheckWrite();
 			CHECK_INSTRPAR(path);
 			CHECK_INSTRPAR(newval);
 			CComPtr<IMgaRegNode> p;
 			COMTHROW(get_RegistryNode(path, &p));
 			COMTHROW(p->put_Value(newval));
-		} COMCATCH_IN_TRANSACTION(;)
+		} COMCATCH_IN_TRANSACTION_MAYBE(;)
 }
 	
 

Modified: trunk/GME/Mga/MgaConnection.cpp
==============================================================================
--- trunk/GME/Mga/MgaConnection.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaConnection.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -199,7 +199,7 @@
 }
 
 HRESULT FCO::AddConnPoint(BSTR rolename, long maxinrole, IMgaFCO *target, IMgaFCOs *refs, IMgaConnPoint **pVal) {
-	COMTRY_IN_TRANSACTION {
+	COMTRY_IN_TRANSACTION_MAYBE {
 	   CheckWrite();
 	   long c = 0;
 	   if(refs) COMTHROW(refs->get_Count(&c));
@@ -221,7 +221,7 @@
 	   peers[pos] = NULLCOREOBJ;		
 	   AddConnPTask(maxinrole, rolename).DoWithDeriveds(self, &peers);
 	   CMgaConnPoint::GetConnPoint(this, peers[pos], pVal);
-	} COMCATCH_IN_TRANSACTION(;);
+	} COMCATCH_IN_TRANSACTION_MAYBE(;);
 }
 
 HRESULT FCO::get_ConnPoints(IMgaConnPoints **pVal) {

Modified: trunk/GME/Mga/MgaFCO.cpp
==============================================================================
--- trunk/GME/Mga/MgaFCO.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaFCO.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -90,7 +90,6 @@
 //throws!!
 void FCO::CheckWrite() {
 		CheckRead();
-		ASSERT(mgaproject->alreadynested());
 		if(mgaproject->read_only) COMTHROW(E_MGA_READ_ONLY_ACCESS);
 		if(self[ATTRID_PERMISSIONS] & LIBRARY_FLAG) COMTHROW(E_MGA_LIBOBJECT);
 		if(self[ATTRID_PERMISSIONS] & READONLY_FLAG) COMTHROW(E_MGA_READ_ONLY_ACCESS);

Modified: trunk/GME/Mga/MgaFolder.cpp
==============================================================================
--- trunk/GME/Mga/MgaFolder.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaFolder.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -22,7 +22,7 @@
 
 HRESULT FCO::CreateFolder(IMgaMetaFolder *meta, IMgaFolder **nf)
 {
-	COMTRY_IN_TRANSACTION {
+	COMTRY_IN_TRANSACTION_MAYBE {
 		CheckWrite();
 		if(self[ATTRID_PERMISSIONS] & LIBROOT_FLAG) COMTHROW(E_MGA_NOT_CHANGEABLE);
 		CHECK_INPTRPAR(meta);
@@ -42,7 +42,7 @@
 		SelfMark(OBJEVENT_NEWCHILD);
 		nff->getinterface(nf);
 	}
-	COMCATCH_IN_TRANSACTION(;);	
+	COMCATCH_IN_TRANSACTION_MAYBE(;);	
 }
 
 
@@ -428,7 +428,7 @@
 }
 
 HRESULT FCO::ContainerCreateFCO(IMgaMetaFCO *meta, CoreObj &fco) {
-	COMTRY_IN_TRANSACTION {
+	COMTRY_IN_TRANSACTION_MAYBE {
 		metaref_type rr;
 		objtype_enum tt;
 		COMTHROW(meta->get_MetaRef(&rr));
@@ -439,7 +439,7 @@
 		assignnewchild(fco);
 		fco[ATTRID_META]=rr;
 	}
-	COMCATCH_IN_TRANSACTION(;);	
+	COMCATCH_IN_TRANSACTION_MAYBE(;);	
 
 }
 

Modified: trunk/GME/Mga/MgaModel.cpp
==============================================================================
--- trunk/GME/Mga/MgaModel.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaModel.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -9,7 +9,7 @@
 
 HRESULT FCO::CreateChildObject(IMgaMetaRole *metar, IMgaFCO **newobj)
 {
-	COMTRY_IN_TRANSACTION {
+	COMTRY_IN_TRANSACTION_MAYBE { // FIXME: with _MAYBE, e.g. GMEView doesn't get notification that the object was created
 		CheckWrite();
 		CHECK_INPTRPAR(metar);
 		CHECK_OUTPTRPAR(newobj);
@@ -39,7 +39,7 @@
 		SelfMark(OBJEVENT_NEWCHILD);
 		nfco->getinterface(newobj);
 	}
-	COMCATCH_IN_TRANSACTION(;);	
+	COMCATCH_IN_TRANSACTION_MAYBE(;);	
 
 }
 

Modified: trunk/GME/Mga/MgaReference.cpp
==============================================================================
--- trunk/GME/Mga/MgaReference.cpp	Tue Jul 26 11:05:00 2011	(r1439)
+++ trunk/GME/Mga/MgaReference.cpp	Tue Jul 26 11:08:00 2011	(r1440)
@@ -58,7 +58,7 @@
 
 
 HRESULT FCO::put_Referred(IMgaFCO *newVal)	{
-		COMTRY_IN_TRANSACTION {
+		COMTRY_IN_TRANSACTION_MAYBE {
 			CheckWrite();
 			CHECK_MYINPTRPARVALIDNULL(newVal);
 			std::vector<CoreObj> peer(1);
@@ -80,7 +80,7 @@
 			}
 			self[ATTRID_MASTEROBJ] = NULLCOREOBJ;
 			putreftask(false).DoWithDeriveds(self, &peer);
-		} COMCATCH_IN_TRANSACTION(;);
+		} COMCATCH_IN_TRANSACTION_MAYBE(;);
 }
 
 HRESULT FCO::get_RefAspect(IMgaMetaAspect **pVal)


More information about the gme-commit mailing list