You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Michael Irving <mi...@keynetx.com> on 2007/05/30 18:35:06 UTC

Oracle outer joins

Just an FYI for anyone using Oracle.  If you set join-style="theta-oracle"
in the entityengine.xml, this causes outer joins to be created incorrectly.
The outer join operator is in front of the column instead of behind it.  If
you use, join-style="ansi" OFBiz works fine.

 

For example:

 

OFBiz generates:

 

SELECT PTY.PARTY_TYPE_ID

        , PTY.DESCRIPTION

        , PER.FIRST_NAME

        , PER.MIDDLE_NAME

        , PER.LAST_NAME

        , PER.FIRST_NAME_LOCAL

        , PER.LAST_NAME_LOCAL

        , PER.PERSONAL_TITLE

        , PER.SUFFIX, PTYGRP.GROUP_NAME

        , PTYGRP.GROUP_NAME_LOCAL

 FROM OFBIZ_DEV.PARTY PTY

       , OFBIZ_DEV.PERSON PER

       , OFBIZ_DEV.PARTY_GROUP PTYGRP

 WHERE PTY.PARTY_ID='admin'

    AND (PTY.PARTY_ID= (+) PER.PARTY_ID AND PTY.PARTY_ID= (+)
PTYGRP.PARTY_ID)

 

 

But is should be:

 

SELECT PTY.PARTY_TYPE_ID

      ,PTY.DESCRIPTION

      ,PER.FIRST_NAME

      ,PER.MIDDLE_NAME

      ,PER.LAST_NAME

      ,PER.FIRST_NAME_LOCAL

      ,PER.LAST_NAME_LOCAL

      ,PER.PERSONAL_TITLE

      ,PER.SUFFIX

      ,PTYGRP.GROUP_NAME

      ,PTYGRP.GROUP_NAME_LOCAL

 FROM OFBIZ_DEV.PARTY PTY

     ,OFBIZ_DEV.PERSON PER

     ,OFBIZ_DEV.PARTY_GROUP PTYGRP

 WHERE PTY.PARTY_ID='admin'

   AND (PTY.PARTY_ID= PER.PARTY_ID(+)   AND PTY.PARTY_ID=
PTYGRP.PARTY_ID(+))

 

-----------------------------------------

Michael Irving

Keynetx, Inc. - Building Solutions for Success

Phone: (215) 310.1934

Mobile: (267)474.3564

Fax: (215) 529-5399

email: mirving@keynetx.com

 

* * * Visit Our Web Site:  <http://www.keynetx.net/> http://www.keynetx.net
* * *

 

----------------------------------------------------------------------------
----

NOTICE: If received in error, please destroy and notify sender. Sender does
not waive confidentiality or privilege, and use is prohibited.