On Saturday, September 10, 2011 02:13:59 am Vineet Deodhar wrote:
> I am writing a script (actually a hack to Ed's code in
> http://leafe.com/archives/msg/379103) for saving un-related & related
> bizobjs in single transaction (in web2py) 
> --------code start---------
>  
> class DE():
>     """
>     class for saving related & unrelated bizobjs in a single transaction
>     """
>     def __init__(self, paernT, unrelatedT):
>         """
>         'parenT' is a list of related tables required in Form
>         First table from the parenT list will be taken to begin transaction
>         'unrelatedT' is a list of unrelated tables required in Form
>         """
>         self.paernT = paernT
>         self.unrelatedT= unrelatedT
>    
>     def saveT(self):
>         self.paernT[0].beginTransaction()
>         try:
>             #Here, save method of bizobj class is called with
> 'startTransaction=False' since already a transaction is started. #If this
> subset is taken in a separate transaction, it might be committed
> atomically. #Eventually, if the main transaction rolls back, this atomic
> change would be already committed to the DB. for i in partnT:
>                 self.paernT.save(startTransaction=False)
>             for j in self.unrelatedT:
>                 j.save(startTransaction=False)
>         except:
>             self.paernT[0].rollbackTransaction
>         else:
>             self.paernT[0].commitTransaction())--------code end---------
>  
> I did not digest the purpose of re-writing "isTransactionManager =
> self._getTransactionToken()" (in Ed's class) since the same code is there
> in "beginTransaction" method of "dBizobj.py". 
> Also pl. give me your comments/suggestions on the above given code (it is a
> work-in-progress). 
> Thanks,
> Vineet

To my eye I think it will work.  Of course I wonder if the transactions 
(unrealtedT) are truly unrelated than why have them in the same 'try'?

Johnf
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to