You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by xi...@ufgov.com.cn on 2004/09/29 10:48:40 UTC

ABOUT OUTER JOIN IN TORQUE

Dear developers,

    Thanks for make us a powerful OM tool. I have studied it for serveral 
days and try to use join functions. Now I can only use inner join but 
outer join. What should I do?
 
    I have studied the source code, found when build join in Criteria we 
have called SqlExpression's buildInnerJoin, and in the buildInnerJoin 
method we only append the eqals token('=') to connect the column and 
relatedColumn. But why not provider a abstract method like 
getOuterJoinToken in DB adapter and implement it in the concrete DB 
adapter such as DBOracle(return "(+)="), DBMSSQL(return "=*")? 


Yours sincerely

Tao Xiong

UFSOFT, PEIKING, CHINA

熊 韬

A++研发中心 门户办公党务软件部

北京用友政务软件有限公司
地址:北京市海淀区海淀大街38号银科大厦11层
邮编:100080
电话:010-82613388-3343
邮件:xiongtao@ufgov.com.cn


Antwort: ABOUT OUTER JOIN IN TORQUE

Posted by Thomas Fischer <Fi...@seitenbau.net>.



Hi,

The problem with the outer Join Tokens is that they are not standard SQL,
and therefore they do not work on most DB's. In Standard SQL you would use
SELECT * FROM TABLE_A LEFT OUTER JOIN TABLE_B WHERE ...
Some moths ago, I posted a patch against the Torque 3.1 release, which
allows to use outer joins. The patch can be found in the Torque Issue
Tracker :

http://nagoya.apache.org/scarab/issues/id/TRQS219

It was reported that the patch works with Oracle and PostgreSQL so far, but
it should work with other DBs as well.
Note that this patch is not yet committed to CVS. It is planned to do this,
but as I am quite busy at the moment, this will take at least till the
middle of October.

If you have problems applying the patch, please contact me.

     Thomas

xiongtao@ufgov.com.cn schrieb am 29.09.2004 10:48:40:

> Dear developers,
>
>     Thanks for make us a powerful OM tool. I have studied it for serveral

> days and try to use join functions. Now I can only use inner join but
> outer join. What should I do?
>
>     I have studied the source code, found when build join in Criteria we
> have called SqlExpression's buildInnerJoin, and in the buildInnerJoin
> method we only append the eqals token('=') to connect the column and
> relatedColumn. But why not provider a abstract method like
> getOuterJoinToken in DB adapter and implement it in the concrete DB
> adapter such as DBOracle(return "(+)="), DBMSSQL(return "=*")?
>
>
> Yours sincerely
>
> Tao Xiong
>
> UFSOFT, PEIKING, CHINA
>
> 熊 韬
>
> A++研发中心 门户办公党务软件部
>
> 北京用友政务软件有限公司
> 地址:北京市海淀区海淀大街38号银科大厦11层
> 邮编:100080
> 电话:010-82613388-3343
> 邮件:xiongtao@ufgov.com.cn
>