On Sat, Jan 16, 2010 at 1:03 PM, Laurence Rowe <l...@lrowe.co.uk> wrote:
> 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'll review and merge.

What does it mean to "release" a savepoint? How is this different from aborting
a save point? I ask particularly in light of:

On Sat, Jan 16, 2010 at 2:26 PM, Laurence Rowe <l...@lrowe.co.uk> wrote:
> 2010/1/16 Laurence Rowe <l...@lrowe.co.uk>:
>> 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
> Michael Bayer noted on the sqlalchemy group that on RELEASE SAVEPOINT
> Postgresql destroys all subsequent savepoints. My branch now
> implements this behaviour.


Jim Fulton
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to