And the recipe I have used is to issue a flush() after the deletes and
before the inserts. In most cases this is sufficient to get things to work
in the right order. I can imagine that there are some complex data
management use cases where that is not sufficient. It works for your sample
as the comment in your code indicates. This should not change the
performance of the app since we are only changing the sequence of
statements, not introducing additional transaction overhead.

When I run into scenarios where the sequence of issuing SQL is significant,
I'm not sure how much control I want to give up to the UOW code. After all
if sequence is important this could very well be application dependent and
the UOW might have to get really sophisticated to guess right. That
increases the risk of taking a performance hit in the 90+% of cases where it
doesn't matter.

-- 
Mike Conley

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@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