18
18
19
19
package com .dtstack .flink .sql .side .rdb .async ;
20
20
21
- import org .apache .flink .api .java .typeutils .RowTypeInfo ;
22
-
23
21
import com .dtstack .flink .sql .side .FieldInfo ;
24
22
import com .dtstack .flink .sql .side .JoinInfo ;
25
23
import com .dtstack .flink .sql .side .PredicateInfo ;
33
31
import org .apache .calcite .sql .SqlKind ;
34
32
import org .apache .calcite .sql .SqlNode ;
35
33
import org .apache .commons .lang3 .StringUtils ;
34
+ import org .apache .flink .api .java .typeutils .RowTypeInfo ;
36
35
37
36
import java .util .Arrays ;
38
37
import java .util .List ;
38
+ import java .util .Map ;
39
39
import java .util .stream .Collectors ;
40
40
41
41
@@ -86,6 +86,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
86
86
87
87
SqlIdentifier left = (SqlIdentifier ) ((SqlBasicCall ) sqlNode ).getOperands ()[0 ];
88
88
SqlIdentifier right = (SqlIdentifier ) ((SqlBasicCall ) sqlNode ).getOperands ()[1 ];
89
+ Map <String , String > physicalFields = sideTableInfo .getPhysicalFields ();
89
90
90
91
String leftTableName = left .getComponent (0 ).getSimple ();
91
92
String leftField = left .getComponent (1 ).getSimple ();
@@ -94,7 +95,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
94
95
String rightField = right .getComponent (1 ).getSimple ();
95
96
96
97
if (leftTableName .equalsIgnoreCase (sideTableName )) {
97
- equalFieldList .add (leftField );
98
+ equalFieldList .add (physicalFields . get ( leftField ) );
98
99
int equalFieldIndex = -1 ;
99
100
for (int i = 0 ; i < rowTypeInfo .getFieldNames ().length ; i ++) {
100
101
String fieldName = rowTypeInfo .getFieldNames ()[i ];
@@ -110,7 +111,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
110
111
111
112
} else if (rightTableName .equalsIgnoreCase (sideTableName )) {
112
113
113
- equalFieldList .add (rightField );
114
+ equalFieldList .add (physicalFields . get ( rightField ) );
114
115
int equalFieldIndex = -1 ;
115
116
for (int i = 0 ; i < rowTypeInfo .getFieldNames ().length ; i ++) {
116
117
String fieldName = rowTypeInfo .getFieldNames ()[i ];
0 commit comments