Search code examples
javaoracle-databaseoracle11gsdkoracle-data-integrator

How to fetch the Join Properties using ODI 11g SDK


I am using ODI 11g SDK to read interfaces. After getting the Join collection using the below code:

Collection<Join> joins = dataset.getJoins();

I can only check if a join in the collection is a Cross join, Natural join, Left Outer or Right Outer, but in the ODI tool I can set the Join as Inner or Full as well which I am not able to detect using the SDK.

I tried searching the SDK for some other class or function but nothing seems to give these details.

Can any one please help me on this.


Solution

  • You need to use isOuter1() and isOuter2().

    • If they both return true, it's a full outer join.
    • If they both return false it's an inner join.
    • If the first one returns true and the second false, it's a left outer join
    • If the first one returns false and the second true, it's a right outer join

    Similarly you can use setOuter1() and setOuter2() to change the type of join. More details : https://docs.oracle.com/cd/E28280_01/apirefs.1111/e17060/toc.htm