Skip to content

Commit 6943b54

Browse files
author
dapeng
committed
fix 别名问题
1 parent d822d4c commit 6943b54

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

core/src/main/java/com/dtstack/flink/sql/side/SideInfo.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public void parseSelectFields(JoinInfo joinInfo){
9393
if(fieldInfo.getTable().equalsIgnoreCase(sideTableName)){
9494
String sideFieldName = sideTableInfo.getPhysicalFields().getOrDefault(fieldInfo.getFieldName(), fieldInfo.getFieldName());
9595
fields.add(sideFieldName);
96-
sideSelectFieldsType.put(sideTableFieldIndex, getTargetFieldType(sideFieldName));
96+
sideSelectFieldsType.put(sideTableFieldIndex, getTargetFieldType(fieldInfo.getFieldName()));
9797
sideFieldIndex.put(i, sideTableFieldIndex);
9898
sideFieldNameIndex.put(i, sideFieldName);
9999
sideTableFieldIndex++;
@@ -132,12 +132,13 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName){
132132

133133
String leftTableName = left.getComponent(0).getSimple();
134134
String leftField = left.getComponent(1).getSimple();
135+
Map<String, String> physicalFields = sideTableInfo.getPhysicalFields();
135136

136137
String rightTableName = right.getComponent(0).getSimple();
137138
String rightField = right.getComponent(1).getSimple();
138139

139140
if(leftTableName.equalsIgnoreCase(sideTableName)){
140-
equalFieldList.add(leftField);
141+
equalFieldList.add(physicalFields.get(leftField));
141142
int equalFieldIndex = -1;
142143
for(int i=0; i<rowTypeInfo.getFieldNames().length; i++){
143144
String fieldName = rowTypeInfo.getFieldNames()[i];
@@ -153,7 +154,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName){
153154

154155
}else if(rightTableName.equalsIgnoreCase(sideTableName)){
155156

156-
equalFieldList.add(rightField);
157+
equalFieldList.add(physicalFields.get(rightField));
157158
int equalFieldIndex = -1;
158159
for(int i=0; i<rowTypeInfo.getFieldNames().length; i++){
159160
String fieldName = rowTypeInfo.getFieldNames()[i];

rdb/rdb-side/src/main/java/com/dtstack/flink/sql/side/rdb/async/RdbAsyncSideInfo.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636

3737
import java.util.Arrays;
3838
import java.util.List;
39+
import java.util.Map;
3940
import java.util.stream.Collectors;
4041

4142

@@ -86,6 +87,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
8687

8788
SqlIdentifier left = (SqlIdentifier) ((SqlBasicCall) sqlNode).getOperands()[0];
8889
SqlIdentifier right = (SqlIdentifier) ((SqlBasicCall) sqlNode).getOperands()[1];
90+
Map<String, String> physicalFields = sideTableInfo.getPhysicalFields();
8991

9092
String leftTableName = left.getComponent(0).getSimple();
9193
String leftField = left.getComponent(1).getSimple();
@@ -94,7 +96,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
9496
String rightField = right.getComponent(1).getSimple();
9597

9698
if (leftTableName.equalsIgnoreCase(sideTableName)) {
97-
equalFieldList.add(leftField);
99+
equalFieldList.add(physicalFields.get(leftField));
98100
int equalFieldIndex = -1;
99101
for (int i = 0; i < rowTypeInfo.getFieldNames().length; i++) {
100102
String fieldName = rowTypeInfo.getFieldNames()[i];
@@ -110,7 +112,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
110112

111113
} else if (rightTableName.equalsIgnoreCase(sideTableName)) {
112114

113-
equalFieldList.add(rightField);
115+
equalFieldList.add(physicalFields.get(rightField));
114116
int equalFieldIndex = -1;
115117
for (int i = 0; i < rowTypeInfo.getFieldNames().length; i++) {
116118
String fieldName = rowTypeInfo.getFieldNames()[i];

0 commit comments

Comments
 (0)