On Monday 16 July 2007 09:59:41 Yves-Eric wrote:
> Thanks for the explanation! The root of the issue is now very
> clear. But are you saying that this is intended behavior? Was I
> wrong in trying to use the session as an object cache?
>
> Now onto a possible solution or workaround... Please forgive me if
> the following does not make sense, but would it be possible to
> store our object in the identity map under a second key: (Person,
> (2,))? Then the Person mapper would find it and we'd avoid having
> to generate a DB query. Is there any technical issue that would
> prevent the same object from being registered under different keys
> in the identity map?
i guess unless u are having another mixed-up-id's 
pseudo-concrete-inheritance case, it's okay. More, any object X 
inheriting C which inherits B which inherits A may get registered as 
all those (X,id), C(id), B(id), A(id) - as long as the id's are 
really same. But this is what _could_ be done, not what _should_ be 
done...


> On Jul 15, 11:47 pm, Michael Bayer <[EMAIL PROTECTED]> wrote:
> > the "non polymorphic" search is against the Person mapper; it
> > recieves id "1" and looks in the identity map for (Person, (1,))
> > and locates the existing object immediately.  For id 2, it also
> > looks in the map for (Person, (2,)), and finds nothing; it must
> > issue a query which returns the fact that id 2 is of type
> > "employee", creates the proper identity key of (Employee, (2,)),
> > and returns the value from the identity map.
>

--~--~---------~--~----~------------~-------~--~----~
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