Re: Vertical inheritance support proposal

From: Mike Kienenberger (mkienen..laska.net)
Date: Wed Jun 15 2005 - 13:10:56 EDT

  • Next message: Mike Kienenberger: "Re: Vertical inheritance support proposal"

    Going back to vertical inheritance now that I've looked over Single-Table
    Inheritance a little bit:

    Andrus Adamchik <andru..bjectstyle.org> wrote:
    > AFAIK vertical inheritance
    >
    (http://developer.apple.com/documentation/LegacyTechnologies/WebObjects/WebObjects_4.5/System/Documentation/Developer/EnterpriseObjects/DevGuide/EOsII7.gif)
    > is simply combining our current single table inheritance with a new
    > flattened attributes feature. Meaning:
    >
    > 1. No template changes are needed.
    > 2. Flattened attributes support is needed in the Modeler.
    > 3. Flattened attributes support is needed in query translators and commit
    > handlers.
    >
    > I am sure there will be some additional issues when combining flattened
    > attributes with inheritance, but I think we need to start by implementing
    > flattened attributes first.
    >
    > Am I missing something obvious?

    Mike Kienenberger wrote:
    > > But it also involves managing multiple object entities as if they were
    > > one single entity (from the bottom up), and as single entities from the
    > > top down.

    Andrus Adamchik <andru..bjectstyle.org> wrote:
    > Why would this be different from the single-table inheritance that we have
    > now?

    Because the single-table inheritance (singti) creates only one DataObject
    per ObjEntity instance.
    Vertical inheritance (verti) requires a DataObject for each object in the
    inheritance chain.

    Ie, If you have Organization -> SecGroup -> SecRole, singti only creates
    and manages one Organization DataObject, but verti must create an
    Organization DataObject, a SecGroup DataObject, and a SecRole DataObject.

    Each child DataObject is actually a composite object representing itself and
    its parent.



    This archive was generated by hypermail 2.0.0 : Wed Jun 15 2005 - 13:08:24 EDT