On Mar 18, 2013, at 4:22 PM, alonn <alonis...@gmail.com> wrote: > from the docs: > > begin_nested() may be called any number of times, which will issue a new > SAVEPOINT with a unique identifier for each call. For each begin_nested() > call, a corresponding rollback() or commit() must be issued. > > Lets say I call session.begin_nested() after each successfull add something > like: > for myModule in modules; > session.add(myModule) > session.begin_nested() > try: > session.flush() > except: > session.rollback() > session.merge(myModule) > session.begin_nested() > transaction.commit() > > my question is would a transaction.commit() suffice to commit all of the > saved SAVEPOINTS or am I suppose to call a commit on each and everyone of > them (as implied in the docs)
you call a commit for every nested that you dont roll back. you shouldn't call begin_nested in your except: there. the pattern is: for item in something: session.begin_nested() try: do something session.commit() except: session.rollback() session.commit() > > Thanks for the help > > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.