Today I stumbled over an unexpected behavior of savepoints. As far as
I'm able to understand savepoints they mark a well defined state in the
middle of a transaction. A savepoint is invalid if its transaction is
committed or another savepoint is created. Well nesting savepoints would
be a nice feature but I can live w/o it.
Something else strikes me. Why am I unable to roll back to the same
savepoint multiple times?
Pseudo code example
>>> sp = transaction.savepoint()
From my point of view I can't see a reason why the ZODB forbids a
second rolback to the savepoint.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org