At 04:55 PM 4/24/02 -0300, Leonardo Rochael Almeida wrote:
As for multiple DB rollback, yes, that works as advertised, and is actually really easy to believe if you explain them how it works. Truth is, Two-Phase-Commit was INVENTED (a long time ago, and not in Zope) to make it possible to commit or rollback multiple transactional entities at the same time. Zope is just an implementation of a TPC coordinator (I think, and I hope I got the vocabulary right).
Note that this only guaranteed to work if all the database adapters involved in the transaction support two-phase-commit. Many do not, and thus may commit too early or too late in the course of a multi-database transaction. If you need multi-database commit, you'll need to verify that the adapter in question actually implements tpc_vote() as something other than 'pass'. :)