Outer join syntax

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Aug 17 2006 - 17:12:21 EDT

  • Next message: Mike Kienenberger: "Re: Translating outer joins"

    On Aug 17, 2006, at 5:04 PM, Mike Kienenberger wrote:

    > Seems reasonable. Is this sufficient for many-to-many join tables?
    > Ie, if we have a Obj toBList relationship, will "toBList+"
    > automatically translate into "where a.a_id = bjointable.a_id(+) and
    > bjointable.b_id = b.b_id(+)"?

    We have db relationships, so I guess we can make this assumption for
    the obj path, but if the user wants more control, they can use DB
    path: "db:toA+.toB" or "db:toA.toB+".

    > It seems like we now would have one Expression supporting multiple
    > join types, depending on the path expression.
    >
    > resolvePathComponents would have to return not only the
    > ObjRelationship/ObjAttributes, but also whether each piece was an
    > outer join.

    Good point. Looks like we will need to change 'resolvePathComponents'
    iterator meaning to return a sequence of wrapper objects that have
    both relationship/attribute and the join semantics:

    class PathComponent {
       protected Object metadataObject;
       protected (?) joinSematics;
    }

    Andrus



    This archive was generated by hypermail 2.0.0 : Thu Aug 17 2006 - 17:12:46 EDT