Hi Tom/Gordon,
I propose following fix for issue 380: Outer Join in sybase is broken.
Need to switch to use ansi join
$ diff --context=1
src/java/oracle/toplink/essentials/platform/database/SybasePlatform.java*
***
src/java/oracle/toplink/essentials/platform/database/SybasePlatform.java
Thu Mar 16 20:01:22
2006
---
src/java/oracle/toplink/essentials/platform/database/SybasePlatform.java.orig
Thu Mar 16 20:07:13 2006
***************
*** 615,617 ****
public boolean shouldPrintOuterJoinInWhereClause() {
! return false;
}
--- 615,617 ----
public boolean shouldPrintOuterJoinInWhereClause() {
! return true;
}
Test cases testProjectOuterJoinTeamMembersJoinAddress and
testEmployeeJoinManagerAddressOuterJoinManagerAddress used to throw
following error:
Internal Exception: com.sybase.jdbc2.jdbc.SybSQLException: The table 'CMP3_EMPLOYEE' is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause.
Error Code: 11054
This error is now fixed. I attach the modified file for review.
Thanks!
-- markus.