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

Reply via email to