N0
SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('HashJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 JOIN t2_n1 USING (id)
---
Fragment#0 root
  executionNodes: [N0]
  remoteFragments: [1]
  exchangeSourceNodes: {1=[N1]}
  tree:
    Receiver(sourceFragment=1, exchange=1, distribution=single)

Fragment#1
  targetNodes: [N0]
  executionNodes: [N1]
  tables: [T1_N1, T2_N1]
  partitions: {N1=[0:1]}
  tree:
    Sender(targetFragment=0, exchange=1, distribution=single)
      Project
        MergeJoin
          Sort
            TableScan(name=PUBLIC.T1_N1, source=2, partitions=1, distribution=affinity[table: T1_N1, columns: [ID]])
          Sort
            TableScan(name=PUBLIC.T2_N1, source=3, partitions=1, distribution=affinity[table: T2_N1, columns: [ID]])
---

N1
SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('HashJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 JOIN t2_n1 USING (id)
---
Fragment#0 root
  executionNodes: [N1]
  remoteFragments: [1]
  exchangeSourceNodes: {1=[N1]}
  tree:
    Receiver(sourceFragment=1, exchange=1, distribution=single)

Fragment#1
  targetNodes: [N1]
  executionNodes: [N1]
  tables: [T1_N1, T2_N1]
  partitions: {N1=[0:1]}
  tree:
    Sender(targetFragment=0, exchange=1, distribution=single)
      Project
        MergeJoin
          Sort
            TableScan(name=PUBLIC.T1_N1, source=2, partitions=1, distribution=affinity[table: T1_N1, columns: [ID]])
          Sort
            TableScan(name=PUBLIC.T2_N1, source=3, partitions=1, distribution=affinity[table: T2_N1, columns: [ID]])
---

N0
SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('HashJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 JOIN t2_n2 USING (id)
---
Fragment#0 root
  executionNodes: [N0]
  remoteFragments: [1]
  exchangeSourceNodes: {1=[N1]}
  tree:
    Receiver(sourceFragment=1, exchange=1, distribution=single)

Fragment#4
  targetNodes: [N0]
  executionNodes: [N1]
  remoteFragments: [5]
  exchangeSourceNodes: {5=[N2]}
  tables: [T1_N1]
  partitions: {N1=[0:1]}
  tree:
    Sender(targetFragment=0, exchange=1, distribution=single)
      Project
        MergeJoin
          Sort
            TableScan(name=PUBLIC.T1_N1, source=2, partitions=1, distribution=affinity[table: T1_N1, columns: [ID]])
          Receiver(sourceFragment=5, exchange=5, distribution=affinity[table: T2_N2, columns: [ID]])

Fragment#5
  targetNodes: [N1]
  executionNodes: [N2]
  tables: [T2_N2]
  partitions: {N2=[0:1]}
  tree:
    Sender(targetFragment=4, exchange=5, distribution=affinity[table: T2_N2, columns: [ID]])
      Sort
        TableScan(name=PUBLIC.T2_N2, source=3, partitions=1, distribution=affinity[table: T2_N2, columns: [ID]])
---
