> > expunge() will remove any object from the Session
> This look a little dumb, but it seems this will solve my problem: expunged objects will not be expired by the session anymore and their data will still be accessible don't they? (I'm not certaint about the last point)... I'm not sure what can be done besides leaving the transaction accounting > flag turned off. If you don't want a ROLLBACK at all, the ORM Session > should probably be skipped here and you'd use insert() constructs directly. > Otherwise the flush() does not support partial execution. If it runs, then > fails in the middle, it has to roll back. It cannot pick up where it left > off midway, as it does not complete its finalized accounting until the end > of the successful flush() operation. > I understand the problem. I think that letting the objects in the session may have been the problem as i did not needed them to be actualized. 3 seconds for your ROLLBACK, where the 3 seconds is to reload everything, > sounds like you are dealing with batches much too large if you have some > kind of super-high volume concurrent INSERT of the same unique key type of > situation going on. > My batches are indeed much too large and as i said earlier, I intend to split them. My only problem is that I need to get them in a given order if I want to avoid a o(n^2) further checks but so far, I haven't implemented the sort function for the database though I intend to do so (and i'm sorting the whole thing locally). Thanks. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
