The docs state "For each begin_nested() call, a corresponding
rollback() or commit() must be issued."

In PostgreSql, according to my understanding, if there is ever a
database exception, a rollback must be issued.
This means a main reason to issue a SAVEPOINT is as a hedge against an
error.

As database transactions go, I want this entire thing to be a single
transaction, so now I don't know how to continue...

For example,

    DBSession.begin_nested()  #savepoint
    DBSession.add(obj)
    try:
        DBSession.flush()
    except IntegrityError:
        DBSession.rollback()
    else:
        # now what?  I do not want to commit, i have much
        # more work to do than this which should be part of
        # this transaction, but if I don't commit now,
        # i need to issue 2 commits later()??

Is releasing the savepoint a choice instead of rolling() or commit()?



-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to