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