Как получить свойства соединения с помощью ODI 11g SDK

Я использую ODI 11g SDK для чтения интерфейсов. После получения коллекции Join с помощью приведенного ниже кода:

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

Я могу только проверить, является ли соединение в коллекции перекрестным соединением, естественным соединением, левым внешним или правым внешним, но в инструменте ODI я также могу установить соединение как внутреннее или полное, что я не могу обнаружить с помощью SDK .

Я попытался найти в SDK какой-то другой класс или функцию, но, похоже, ничего не дает этих подробностей.

Может ли кто-нибудь помочь мне в этом.


person BigD    schedule 28.04.2015    source источник


Ответы (1)


Вам нужно использовать isOuter1() и isOuter2().

  • Если они оба возвращают true, это полное внешнее соединение.
  • Если они оба возвращают false, это внутреннее соединение.
  • Если первый возвращает true, а второй false, это левое внешнее соединение.
  • Если первый возвращает false, а второй true, это правильное внешнее соединение.

Точно так же вы можете использовать setOuter1() и setOuter2() для изменения типа соединения. Дополнительные сведения: https://docs.oracle.com/cd/E28280_01/apirefs.1111/e17060/toc.htm

person JeromeFr    schedule 28.04.2015
comment
Спасибо, Джером, я могу использовать эти условия для написания кода. Кроме того, если оба являются ложными, то это может быть также перекрестное соединение или естественное соединение, и, следовательно, для этого также требуется проверка. - person BigD; 28.04.2015
comment
Перекрестное соединение — это просто внутреннее соединение с условием соединения, которое всегда истинно. Для естественного Присоединения это нечто иное. Это просто другой синтаксис, но он может быть левым внешним, правым внешним или внутренним: docs.oracle.com/javadb/10.8.3.0/ref/rrefsqljnaturaljoin.html - person JeromeFr; 28.04.2015