[ZODB-Dev] Why does transaction.commit(1) break savepoints?
Chris Withers
chris at simplistix.co.uk
Tue Oct 17 10:01:12 EDT 2006
>>> import transaction
Something simple:
>>> s = transaction.savepoint()
>>> s.rollback()
Something less so:
>>> s = transaction.savepoint()
>>> s1 = transaction.savepoint()
>>> s.rollback()
...okay, so we can nest savepoints, yay!
>>> s1.rollback()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File
"lib/python/transaction/_transaction.py", line 682, in rollback
raise interfaces.InvalidSavepointRollbackError
transaction.interfaces.InvalidSavepointRollbackError
That makes sense, since we already rolled back to before it.
Okay:
>>> s = transaction.savepoint()
>>> transaction.commit(1)
>>> s.rollback()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File
"lib/python/transaction/_transaction.py", line 682, in rollback
raise interfaces.InvalidSavepointRollbackError
transaction.interfaces.InvalidSavepointRollbackError
wtf?
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the ZODB-Dev
mailing list