[ZODB-Dev] Savepoint release support

Jim Fulton jim at zope.com
Sun Jan 17 08:46:55 EST 2010


On Sat, Jan 16, 2010 at 1:03 PM, Laurence Rowe <l at 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 at lrowe.co.uk> wrote:
> 2010/1/16 Laurence Rowe <l at 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

-- 
Jim Fulton


More information about the ZODB-Dev mailing list