Skip to content

Commit b97ef2c

Browse files
author
gituser
committed
Merge branch 'hotfix_1.10_4.0.x_1754' into 1.10_release_4.0.x
2 parents 754d0e5 + 0fb6f05 commit b97ef2c

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ public List<PredicateInfo> getPredicateInfoes() {
189189
return predicateInfoes;
190190
}
191191

192+
public void addPredicateInfo(PredicateInfo predicateInfo) {
193+
this.predicateInfoes.add(predicateInfo);
194+
}
195+
192196
public Long getAsyncFailMaxNum(Long defaultValue) {
193197
return Objects.isNull(asyncFailMaxNum) ? defaultValue : asyncFailMaxNum;
194198
}

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

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,14 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName) {
134134
if (leftNode.getKind() == SqlKind.LITERAL) {
135135
evalConstantEquation(
136136
(SqlLiteral) leftNode,
137-
(SqlIdentifier) rightNode
137+
(SqlIdentifier) rightNode,
138+
sqlNode.getKind()
138139
);
139140
} else if (rightNode.getKind() == SqlKind.LITERAL) {
140141
evalConstantEquation(
141142
(SqlLiteral) rightNode,
142-
(SqlIdentifier) leftNode
143+
(SqlIdentifier) leftNode,
144+
sqlNode.getKind()
143145
);
144146
} else {
145147
SqlIdentifier left = (SqlIdentifier) leftNode;
@@ -176,22 +178,21 @@ private void evalEquation(SqlIdentifier left, SqlIdentifier right, String sideTa
176178
* @param literal
177179
* @param identifier
178180
*/
179-
private void evalConstantEquation(SqlLiteral literal, SqlIdentifier identifier) {
181+
private void evalConstantEquation(SqlLiteral literal, SqlIdentifier identifier, SqlKind sqlKind) {
180182
String tableName = identifier.getComponent(0).getSimple();
181183
String sideTableName = sideTableInfo.getName();
182184
String errorMsg = "only support set side table constant field, error field " + identifier;
183185
Preconditions.checkState(tableName.equals(sideTableName), errorMsg);
184186
String fieldName = identifier.getComponent(1).getSimple();
185187
Object constant = literal.getValue();
186-
List<PredicateInfo> predicateInfos = sideTableInfo.getPredicateInfoes();
187188
PredicateInfo predicate = PredicateInfo.builder()
188-
.setOperatorName("=")
189-
.setOperatorKind("EQUALS")
189+
.setOperatorName(sqlKind.sql)
190+
.setOperatorKind(sqlKind.name())
190191
.setOwnerTable(tableName)
191192
.setFieldName(fieldName)
192193
.setCondition(constant.toString())
193194
.build();
194-
predicateInfos.add(predicate);
195+
sideTableInfo.addPredicateInfo(predicate);
195196
}
196197

197198
private void associateField(String sourceTableField, String sideTableField, SqlNode sqlNode) {

0 commit comments

Comments
 (0)