Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- relates to
-
CAY-929 SelectTranslator support for standard SQL join syntax, including outer joins
- Closed