On Mar 28, 4:12 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
> On Mar 28, 2008, at 6:42 PM, john spurling wrote:
>
>
>
> > The funny part is that if I run this very same code in a standalone
> > Python process (where the process is kept alive, like the Apache
> > process), there is no caching behavior; the correct value is returned
> > every single time. If it's run in Apache, I can see the incorrect
> > value get returned in the logs (in the 'get_user' function above). In
> > either case, I see the query getting logged in MySQL's query logs.
>
> > Any ideas at all? I've searched through both the mod_python and
> > sqlalchemy archives and haven't found anything appropriate.
>
> that is the symptom of a Session being reused - that the SQL is issued
> but it returns the existing identity map version.  But the code you've
> illustrated should not have this problem since you are creating and
> closing a Session within the scope of a function call (but you said,
> that's only a "synopsis" of the code which I assume means it's not
> verbatim).   I'd add logging which includes the in-memory identity of
> the Session in use as well as assertions that it's empty before use
> (assert len(list(session)) == 0).  if a preceding session.clear()
> fixes the problem thats also a sign of that issue.

I added debugging to get id(session) and len(list(session)). The
session id is unique every time, and len(list(session)) is 0. I also
called session.clear() before using it. Unfortunately, the caching
behavior persists.

Any other suggestions? Thank you very much for your time and help!

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to