Re: working with zope rdbms transaction mgmt
"M.-A. Lemburg" <[email protected]>
| Newsgroups | gmane.comp.web.zope.database |
|---|---|
| Organization | eGenix.com Software GmbH -- http://www.egenix.com/ |
| Message-ID | <[email protected]> |
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? Yes. > 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 committed? Yes. 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 eGenix.com 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 ! ::::