On 7/19/05, David H <[EMAIL PROTECTED]> wrote:
> Hi list,
> 
> At times (it seems)  necessary to force a Zope transaction commit.  This
> might occur between two zSQL calls where the second depends on the
> first's *SQL* transaction's availability but the first has not yet been
> commited because the *Zope* transaction that includes both zSQL calls
> has not yet been commited.
> 
> I handled this with a call to an external script as below, eg
> 
> . zSql1()
> . pyCommit()
> zSql2()
> Publish new page
> 
> Here's pyCommit()
> 
> # ...............................................................
> # Extenstion/pyCommit.py
> # ...............................................................
> from ZODB import FileStorage,DB
> 
> def commit( self ):
>    t = get_transaction() # ZODB builtin
>    if t:
>       t.commit()
> # ...............................................................
> 
> Thats it. And it solved my problem. Is there a reason why this is a bad
> idea, all things being equal?  A better way to do it, when needed?
> 

you're playing with fire  ;)

let zope handle the transaction

use <dtml-var sql_delimeter> to separate two or more sql calls

this way, if one of the call fails, the transaction will be aborted

gurus, correct me if i'm wrong, please

hth

> Thanks,
> David
> 
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
> 


-- 
http://myzope.kedai.com.my - my-zope org
_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to