Hi,

At risk of sounding too critical (believe me - i am so very
appreciative of GAE), something about PolyModel has been bothering me
enough that i must get it off my chest in the hope that it might be
reworked. The PolyModel was created to allow developers to access all
child entities through the base. i think it is an important ability
for the GAE and PolyModel addresses the need.

But, (here it comes) every extension (field) is stored in the same
table? (entity group) along with an extra field (list) that stores the
class names. The problem with this is that if you have an inheritance
hierarchy in which your outermost descendant(s) extend several fields,
you've loaded your base entities with a mass of irrelevant fields
containing an unusual <missing> (i've never seen that before).

if you are building an application that, say for example, reads the
fields (columns?) in the entity for display to the user (like the
Dashboard's Data Viewer), you end up presenting irrelevant fields. How
the unnecessary fetching of these extension fields affects performance
i cannot say but i would guess it is not helpful.

i tend to think that each subclass entity justifies its own distinct
table? / entity ? and would only contain the fields which extend it's
base class which resides in the same entity group as the parent.

PolyModel could then, instead, walk the parent chain adding fields as
necessary until it reaches the root entity. The subclassed entity
would be presented as a composite of all the fields within itself and
it's ascendants. since the superclass entities are assigned to the
subclass entities by parent, the reside in the same entity group and
shouldn't be an impediment to scalability or within a transaction

it seems to make so much sense to me that i can only guess there was
some obstacle preventing it being so and the only solution was what we
have now. if that is the case, please tell me so i can just give up on
this... otherwise comments are always welcome -

thanks :)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to