[ZODB-Dev] Savepoint release support

Laurence Rowe l at lrowe.co.uk
Sat Jan 16 13:03:12 EST 2010


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
transaction.

I've added this in a branch of transaction here:
svn+ssh://svn.zope.org/repos/main/transaction/branches/elro-savepoint-release

>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.
http://groups.google.com/group/sqlalchemy/browse_thread/thread/7a4632587fd97724

Laurence


More information about the ZODB-Dev mailing list