| N0 |
| SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('JoinCommuteRule', 'MergeJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 JOIN t2_n1 USING (id) |
| --- |
| Fragment#2 root |
| distribution: single |
| executionNodes: [N0] |
| exchangeSourceNodes: {3=[N1]} |
| colocationGroup[-1]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| colocationGroup[3]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| tree: |
| Receiver |
| fieldNames: [ID, C1, C2, C10, C20] |
| sourceFragmentId: 3 |
| est: (rows=1) |
| |
| Fragment#3 |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 |
| executionNodes: [N1] |
| targetNodes: [N0] |
| exchangeSourceNodes: {4=[N1]} |
| colocationGroup[0]: {nodes=[N1], sourceIds=[0, 4], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| colocationGroup[4]: {nodes=[N1], sourceIds=[0, 4], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| partitions: [T1_N1=[N1={0}]] |
| tree: |
| Sender |
| distribution: single |
| targetFragmentId: 2 |
| est: (rows=30) |
| Project |
| fieldNames: [ID, C1, C2, C10, C20] |
| projection: [ID, C1, C2, C1$0, C2$0] |
| est: (rows=30) |
| HashJoin |
| predicate: =(ID, ID$0) |
| fieldNames: [ID, C1, C2, ID$0, C1$0, C2$0] |
| type: inner |
| est: (rows=30) |
| TableScan |
| table: PUBLIC.T1_N1 |
| fieldNames: [ID, C1, C2] |
| est: (rows=200) |
| Receiver |
| fieldNames: [ID, C1, C2] |
| sourceFragmentId: 4 |
| est: (rows=1) |
| |
| Fragment#4 |
| distribution: table PUBLIC.T2_N1 in zone ZONE_2 |
| executionNodes: [N1] |
| targetNodes: [N1] |
| colocationGroup[1]: {nodes=[N1], sourceIds=[1], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| partitions: [T2_N1=[N1={0}]] |
| tree: |
| Sender |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 by [ID] |
| targetFragmentId: 3 |
| est: (rows=100) |
| TableScan |
| table: PUBLIC.T2_N1 |
| fieldNames: [ID, C1, C2] |
| est: (rows=100) |
| --- |
| |
| N0 |
| SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('JoinCommuteRule', 'MergeJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 t1 JOIN t1_n1 t2 ON t1.id = t2.id |
| --- |
| Fragment#2 root |
| distribution: single |
| executionNodes: [N0] |
| exchangeSourceNodes: {3=[N1]} |
| colocationGroup[-1]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| colocationGroup[3]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| tree: |
| Receiver |
| fieldNames: [ID, C1, C2, ID$0, C1$0, C2$0] |
| sourceFragmentId: 3 |
| est: (rows=1) |
| |
| Fragment#3 |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 |
| executionNodes: [N1] |
| targetNodes: [N0] |
| colocationGroup[0]: {nodes=[N1], sourceIds=[0, 1], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| colocationGroup[1]: {nodes=[N1], sourceIds=[0, 1], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| partitions: [T1_N1=[N1={0}]] |
| tree: |
| Sender |
| distribution: single |
| targetFragmentId: 2 |
| est: (rows=200) |
| HashJoin |
| predicate: =(ID, ID$0) |
| fieldNames: [ID, C1, C2, ID$0, C1$0, C2$0] |
| type: inner |
| est: (rows=200) |
| TableScan |
| table: PUBLIC.T1_N1 |
| fieldNames: [ID, C1, C2] |
| est: (rows=200) |
| TableScan |
| table: PUBLIC.T1_N1 |
| fieldNames: [ID, C1, C2] |
| est: (rows=200) |
| --- |
| |
| N0 |
| SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('JoinCommuteRule', 'MergeJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 JOIN t2_n2 USING (id) |
| --- |
| Fragment#2 root |
| distribution: single |
| executionNodes: [N0] |
| exchangeSourceNodes: {3=[N1]} |
| colocationGroup[-1]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| colocationGroup[3]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| tree: |
| Receiver |
| fieldNames: [ID, C1, C2, C10, C20] |
| sourceFragmentId: 3 |
| est: (rows=1) |
| |
| Fragment#3 |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 |
| executionNodes: [N1] |
| targetNodes: [N0] |
| exchangeSourceNodes: {4=[N2]} |
| colocationGroup[0]: {nodes=[N1], sourceIds=[0, 4], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| colocationGroup[4]: {nodes=[N1], sourceIds=[0, 4], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| partitions: [T1_N1=[N1={0}]] |
| tree: |
| Sender |
| distribution: single |
| targetFragmentId: 2 |
| est: (rows=30) |
| Project |
| fieldNames: [ID, C1, C2, C10, C20] |
| projection: [ID, C1, C2, C1$0, C2$0] |
| est: (rows=30) |
| HashJoin |
| predicate: =(ID, ID$0) |
| fieldNames: [ID, C1, C2, ID$0, C1$0, C2$0] |
| type: inner |
| est: (rows=30) |
| TableScan |
| table: PUBLIC.T1_N1 |
| fieldNames: [ID, C1, C2] |
| est: (rows=200) |
| Receiver |
| fieldNames: [ID, C1, C2] |
| sourceFragmentId: 4 |
| est: (rows=1) |
| |
| Fragment#4 |
| distribution: table PUBLIC.T2_N2 in zone ZONE_3 |
| executionNodes: [N2] |
| targetNodes: [N1] |
| colocationGroup[1]: {nodes=[N2], sourceIds=[1], assignments={part_0=N2:1}, partitionsWithConsistencyTokens={N2=[part_0:1]}} |
| partitions: [T2_N2=[N2={0}]] |
| tree: |
| Sender |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 by [ID] |
| targetFragmentId: 3 |
| est: (rows=100) |
| TableScan |
| table: PUBLIC.T2_N2 |
| fieldNames: [ID, C1, C2] |
| est: (rows=100) |
| --- |
| |
| N0 |
| SELECT /*+ ENFORCE_JOIN_ORDER, DISABLE_RULE('JoinCommuteRule', 'MergeJoinConverter', 'NestedLoopJoinConverter', 'CorrelatedNestedLoopJoin') */ * FROM t1_n1 |
| JOIN TABLE(SYSTEM_RANGE(0, 10)) r ON t1_n1.id = r.x |
| --- |
| Fragment#2 root |
| distribution: single |
| executionNodes: [N0] |
| exchangeSourceNodes: {3=[N1]} |
| colocationGroup[-1]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| colocationGroup[3]: {nodes=[N0], sourceIds=[-1, 3], assignments={}, partitionsWithConsistencyTokens={N0=[]}} |
| tree: |
| Project |
| fieldNames: [ID, C1, C2, X] |
| projection: [ID, C1, C2, X] |
| est: (rows=15) |
| HashJoin |
| predicate: =(ID0, X) |
| type: inner |
| est: (rows=15) |
| Receiver |
| fieldNames: [ID, C1, C2, ID0] |
| sourceFragmentId: 3 |
| est: (rows=1) |
| TableFunctionScan |
| fieldNames: [X] |
| invocation: SYSTEM_RANGE(0, 10) |
| est: (rows=100) |
| |
| Fragment#3 |
| distribution: table PUBLIC.T1_N1 in zone ZONE_1 |
| executionNodes: [N1] |
| targetNodes: [N0] |
| colocationGroup[0]: {nodes=[N1], sourceIds=[0], assignments={part_0=N1:1}, partitionsWithConsistencyTokens={N1=[part_0:1]}} |
| partitions: [T1_N1=[N1={0}]] |
| tree: |
| Sender |
| distribution: single |
| targetFragmentId: 2 |
| est: (rows=200) |
| TableScan |
| table: PUBLIC.T1_N1 |
| fieldNames: [ID, C1, C2, ID0] |
| projection: [ID, C1, C2, CAST(ID):BIGINT NOT NULL] |
| est: (rows=200) |
| --- |