[JIRA] Created: (CAY-928) Ordering across relationship should use inner join

From: Ari Maniatis (JIRA) ("Ari)
Date: Mon Dec 03 2007 - 03:12:44 EST

  • Next message: Ari Maniatis (JIRA): "[JIRA] Updated: (CAY-928) Ordering across relationship should use left join"

    Ordering across relationship should use inner join
    --------------------------------------------------

                     Key: CAY-928
                     URL: https://issues.apache.org/cayenne/browse/CAY-928
                 Project: Cayenne
              Issue Type: Bug
              Components: Cayenne Core Library
                Reporter: Ari Maniatis
                Assignee: Andrus Adamchik
                Priority: Critical

    When ordering across a relationship like this:

    SelectQuery qual = new SelectQuery(Painting.class);
    qual.addOrdering(new Ordering(Painting.ARTIST_PROPERTY+"."+Artist.NAME_PROPERTY, true, true));

    the SQL looks like this:

    SELECT t0.id FROM Painting t0, Artist t1 WHERE t0.artistId = t1.id ORDER BY t1.name

    but it should be like this:

    SELECT t0.id FROM Painting t0 LEFT JOIN Artist t1 ON t0.artistId = t1.id ORDER BY t1.name

    What this means is that at the moment Cayenne will exclude from this query all paintings with no related artist.

    Regardless of how one thinks NULLs should be sorted in this relationship, the addition of a new Ordering in Cayenne shouldn't change the number of records returned from the SelectQuery.

    -- 
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
    



    This archive was generated by hypermail 2.0.0 : Mon Dec 03 2007 - 03:13:15 EST