Detecting when outer joins are needed [Was: Cayenne does not throw an exception when an outer join is attempted]

From: Mike Kienenberger (mkienen..mail.com)
Date: Wed Aug 23 2006 - 15:35:51 EDT

  • Next message: Øyvind Harboe: "Expression.filterObjects() and SelectQuery"

    Here's where I'm finding that I need outer joins:

    1) If two qualifiers for a non-mandatory relationship path are or'd
    together. This is also what Øyvind Harboe reported. It may be that
    the non-mandatory part is irrelevent.

    2) If using noMatchExp on a non-null value for a non-mandatory
    relationship path.

    On 8/17/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
    > > Would it make sense for Cayenne to throw an exception when an outer
    > > join is attempted?
    >
    > Could you be more specific on when it should detect that? IIRC there
    > were some discussions on that in the past. You provide no references
    > though.
    >
    > Also there is an effort underway to support outer joins (we will have
    > to do it in 3.0 anyways as the goal is to be compatible with the JPA
    > spec that requires them):
    >
    > http://objectstyle.org/cayenne/lists/cayenne-devel/2006/08/0106.html
    >
    > Andrus
    >
    > On Aug 17, 2006, at 3:24 AM, Øyvind Harboe wrote:
    > > Outer joins are not supported, I know.
    > >
    > > Meanwhile I miss being *told* when I'm attempting an outer join,
    > > minimally runtime.
    > >
    > > One of the reasons I'm using Cayenne is that I don't want to think
    > > about SQL, so I don't. It hurts even thinking about thinking about how
    > > Cayenne Expressions turn into SQL statements :-)
    > >
    > > Would it make sense for Cayenne to throw an exception when an outer
    > > join is attempted?
    > >
    > > Could I attempt to implement such a detection in Cayenne myself and
    > > submit a patch or is it fiendishly difficult?



    This archive was generated by hypermail 2.0.0 : Wed Aug 23 2006 - 15:36:18 EDT