Jim Abramson wrote:
Hello all,

As has been mentioned many times on that list, calling explicit 'commit' on the 
db connection you
are using during a Zope request is a no-no...

My question is, if i grab a reference to the cursor from some db connection 
inside a python
script, and do a bunch of statements directly on this cursor, and something 
goes wrong on the nth
statement (i.e. uncaught Exception), should I expect all of the statements 
performed using that
cursor up to that point will be automatically rolled back?


If yes, next question is, if I trap an exception that's raised during the nth 
statement, and
proceed (using the same cursor) to the (n+1)th statement, and the REQUEST wraps 
up cleanly,
should I expect all of the successful statements will be automatically 


That ways easy :-)

Database transactions are handled on the connection, not the cursors,
so unless you connection dies in the middle of processing a request,
anything you do on the connection will get committed if Zope finds
that processing was successful, that is in particular, no unhandled
exception was raised.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Jul 02 2004)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
Zope-DB mailing list

Reply via email to