I've had a request to add savepoint release support to zope.sqlalchemy
as some databases seem to limit the number of savepoints in a
I've added this in a branch of transaction here:
>From the changelog:
* Add support for savepoint.release(). Some databases only support a limited
number of savepoints or subtransactions, this provides an opportunity for a
data manager to free those resources.
* Rename InvalidSavepointRollbackError to InvalidSavepointError (BBB provided.)
If there are no objections, I shall merge this to trunk.
I noticed that test_SampleResourceManager defined a discard():pass
method. I've removed it in the branch as it seems confusing - it seems
to be used in relation to both savepoint release and rollback. It also
shows up here: http://docs.zope.org/zope3/Book/zodb/collaboration/show.html,
but not in the collaborations.txt from current ZODB trunk.
I'm still not sure this will allow me to add savepoint release support
to zope.sqlalchemy, as SQLAlchemy has a concept of nested transactions
rather than savepoints.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org