1818
1919package com .dtstack .flink .sql .side .rdb .async ;
2020
21- import org .apache .flink .api .java .typeutils .RowTypeInfo ;
22-
2321import com .dtstack .flink .sql .side .FieldInfo ;
2422import com .dtstack .flink .sql .side .JoinInfo ;
2523import com .dtstack .flink .sql .side .PredicateInfo ;
3331import org .apache .calcite .sql .SqlKind ;
3432import org .apache .calcite .sql .SqlNode ;
3533import org .apache .commons .lang3 .StringUtils ;
34+ import org .apache .flink .api .java .typeutils .RowTypeInfo ;
3635
3736import java .util .Arrays ;
3837import java .util .List ;
38+ import java .util .Map ;
3939import java .util .stream .Collectors ;
4040
4141
@@ -86,6 +86,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
8686
8787 SqlIdentifier left = (SqlIdentifier ) ((SqlBasicCall ) sqlNode ).getOperands ()[0 ];
8888 SqlIdentifier right = (SqlIdentifier ) ((SqlBasicCall ) sqlNode ).getOperands ()[1 ];
89+ Map <String , String > physicalFields = sideTableInfo .getPhysicalFields ();
8990
9091 String leftTableName = left .getComponent (0 ).getSimple ();
9192 String leftField = left .getComponent (1 ).getSimple ();
@@ -94,7 +95,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
9495 String rightField = right .getComponent (1 ).getSimple ();
9596
9697 if (leftTableName .equalsIgnoreCase (sideTableName )) {
97- equalFieldList .add (leftField );
98+ equalFieldList .add (physicalFields . get ( leftField ) );
9899 int equalFieldIndex = -1 ;
99100 for (int i = 0 ; i < rowTypeInfo .getFieldNames ().length ; i ++) {
100101 String fieldName = rowTypeInfo .getFieldNames ()[i ];
@@ -110,7 +111,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
110111
111112 } else if (rightTableName .equalsIgnoreCase (sideTableName )) {
112113
113- equalFieldList .add (rightField );
114+ equalFieldList .add (physicalFields . get ( rightField ) );
114115 int equalFieldIndex = -1 ;
115116 for (int i = 0 ; i < rowTypeInfo .getFieldNames ().length ; i ++) {
116117 String fieldName = rowTypeInfo .getFieldNames ()[i ];
0 commit comments