Previously Michael Bayer wrote: > On Feb 26, 2009, at 8:21 AM, Wichert Akkerman wrote: > > What happens if you do not call expunge on it, but pickle the object > > in a > > cache, load it later and then merge it? > > the state of the newly unpickled object, that is the current value of > its mapped attributes, would be merged with the persistent version in > the session. merge() will load the object from the database into an > in-session, persistent instance before merging the external state. > because your unpickled instance never actually enters the session, > conflicts with its previous session or an already present in-session > object are nicely avoided.
I actually skip that and invalidate the cache entry on changes to prevent that SQL hit. What I meant was: does it matter if you never explicitly call expunge? Wichert. -- Wichert Akkerman <wich...@wiggy.net> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---