Re: [ZODB-Dev] Savepoint release support
2010/1/17 Jim Fulton : > On Sat, Jan 16, 2010 at 1:03 PM, Laurence Rowe 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. Great, thanks! > 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 wrote: >> 2010/1/16 Laurence Rowe : >>> 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. For zope.sqlalchemy I commit the sqlalchemy substransaction on savepoint.release(). This translates to a RELEASE SAVEPOINT on postgresql, best described by their docs here: """ RELEASE SAVEPOINT destroys a savepoint previously defined in the current transaction. Destroying a savepoint makes it unavailable as a rollback point, but it has no other user visible behavior. It does not undo the effects of commands executed after the savepoint was established. (To do that, see ROLLBACK TO SAVEPOINT.) Destroying a savepoint when it is no longer needed allows the system to reclaim some resources earlier than transaction end. RELEASE SAVEPOINT also destroys all savepoints that were established after the named savepoint was established. """ http://developer.postgresql.org/pgdocs/postgres/sql-release-savepoint.html Laurence ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] Savepoint release support
On Sat, Jan 16, 2010 at 1:03 PM, Laurence Rowe 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 wrote: > 2010/1/16 Laurence Rowe : >> 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 ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] Savepoint release support
2010/1/16 Laurence Rowe : > 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. Laurence ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev
[ZODB-Dev] Savepoint release support
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 ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org https://mail.zope.org/mailman/listinfo/zodb-dev