You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by "Andrus Adamchik (JIRA)" <de...@cayenne.apache.org> on 2008/05/06 22:44:52 UTC

[jira] Closed: (CAY-560) Add support for outer joins

     [ https://issues.apache.org/cayenne/browse/CAY-560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik closed CAY-560.
-------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 1.2 [STABLE])
                   3.0

> Add support for outer joins
> ---------------------------
>
>                 Key: CAY-560
>                 URL: https://issues.apache.org/cayenne/browse/CAY-560
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: Cayenne Core Library
>            Reporter: Øyvind Harboe
>            Assignee: Mike Kienenberger
>             Fix For: 3.0
>
>         Attachments: 1.2-outerjoin-null-2006-09-05-01.txt, cayenne-2.0-patch-outerjoin-null-audit-customexp.txt
>
>
> Currently outer joins are not supported.
> See thread:
> http://objectstyle.org/cayenne/lists/cayenne-user/2006/05/0165.html
>  // This Java code will result in the SQL query immediately below...
> SelectQuery query1=new SelectQuery(ElcRole.class);
> query1.setQualifier(ExpressionFactory.matchExp(ElcRole.ELC_ROLEMEMBER_ARRAY_PROPERTY + "." + ElcRolemember.TO_SYS_USER_PROPERTY, getSysUser()).
>   orExp(ExpressionFactory.matchExp(ElcRole.TO_SYS_USER_PROPERTY, getSysUser())));
> List l=context.performQuery(query1);
> Generates =>
>  
> SELECT DISTINCT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID
> FROM ELC_ROLE t0 LEFT OUTER JOIN
>                       ELC_ROLEMEMBER t1 ON t0.ELCROLE_ID = t1.ELCROLE_ID
> WHERE (t1.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') OR
>                       (t0.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881')
> But should(?) have generated =>
> SELECT DISTINCT t0.ELCROLE_NAME, t0.ELCROLE_ID, t0.SYSUSER_ID
> FROM ELC_ROLE t0 LEFT OUTER JOIN
>                       ELC_ROLEMEMBER t1 ON t0.ELCROLE_ID = t1.ELCROLE_ID
> WHERE (t1.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881') OR
>                       (t0.SYSUSER_ID = 'BD93F348-8C02-4742-BA97-2456E5CD3881')
>                       

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