Skip to content

Commit ca786b9

Browse files
author
gituser
committed
Merge branch '1.10_release_4.1.x' into 1.10_release_4.2.x
2 parents 15fb3fb + 5d855ed commit ca786b9

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,11 @@
2222

2323
import com.dtstack.flink.sql.side.cache.AbstractSideCache;
2424
import com.google.common.base.Preconditions;
25-
import org.apache.calcite.sql.JoinType;
26-
import org.apache.calcite.sql.SqlBasicCall;
27-
import org.apache.calcite.sql.SqlIdentifier;
28-
import org.apache.calcite.sql.SqlKind;
29-
import org.apache.calcite.sql.SqlLiteral;
30-
import org.apache.calcite.sql.SqlNode;
31-
import org.apache.flink.api.java.typeutils.RowTypeInfo;
3225
import com.google.common.collect.Lists;
3326
import com.google.common.collect.Maps;
27+
import org.apache.calcite.sql.*;
28+
import org.apache.calcite.util.NlsString;
29+
import org.apache.flink.api.java.typeutils.RowTypeInfo;
3430
import org.apache.flink.table.runtime.typeutils.BaseRowTypeInfo;
3531

3632
import java.io.Serializable;
@@ -46,6 +42,9 @@
4642

4743
public abstract class BaseSideInfo implements Serializable{
4844

45+
protected static final String QUOTE = "'";
46+
protected static final String ESCAPEQUOTE = "''";
47+
4948
protected RowTypeInfo rowTypeInfo;
5049

5150
protected List<FieldInfo> outFieldInfoList;
@@ -186,12 +185,18 @@ private void evalConstantEquation(SqlLiteral literal, SqlIdentifier identifier,
186185
checkSupport(identifier);
187186
String fieldName = identifier.getComponent(1).getSimple();
188187
Object constant = literal.getValue();
188+
String condition;
189+
if(constant instanceof NlsString){
190+
condition = QUOTE + ((NlsString) constant).getValue().replace(QUOTE,ESCAPEQUOTE)+ QUOTE;
191+
}else {
192+
condition = constant.toString();
193+
}
189194
PredicateInfo predicate = PredicateInfo.builder()
190195
.setOperatorName(sqlKind.sql)
191196
.setOperatorKind(sqlKind.name())
192197
.setOwnerTable(tableName)
193198
.setFieldName(fieldName)
194-
.setCondition(constant.toString())
199+
.setCondition(condition)
195200
.build();
196201
sideTableInfo.addPredicateInfo(predicate);
197202
sideTableInfo.addFullPredicateInfoes(predicate);

0 commit comments

Comments
 (0)