Skip to content

Commit a58ddd5

Browse files
committed
[fix] varchar type bug
1 parent d8873f9 commit a58ddd5

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

impala/impala-sink/src/main/java/com/dtstack/flink/sql/sink/impala/ImpalaOutputFormat.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import java.util.concurrent.ScheduledFuture;
5353
import java.util.concurrent.ScheduledThreadPoolExecutor;
5454
import java.util.concurrent.TimeUnit;
55+
import java.util.concurrent.atomic.AtomicReference;
5556
import java.util.regex.Matcher;
5657
import java.util.regex.Pattern;
5758
import java.util.stream.Collectors;
@@ -370,9 +371,11 @@ private String valueConditionAddQuotation(String valueCondition) {
370371
String value = matcher.group(1);
371372
String type = matcher.group(2);
372373

373-
if (Arrays.asList(NEED_QUOTE_TYPE).contains(type)) {
374-
if (!"null".equals(value)) {
375-
item = item.replace(value, "'" + value + "'");
374+
for (String needQuoteType : NEED_QUOTE_TYPE) {
375+
if (type.contains(needQuoteType)) {
376+
if (!"null".equals(value)) {
377+
item = item.replace(value, "'" + value + "'");
378+
}
376379
}
377380
}
378381
}
@@ -580,8 +583,10 @@ private String buildTableFieldsCondition(List<String> fieldNames, String partiti
580583
private String buildValuesCondition(List<String> fieldTypes, Row row) {
581584
String valuesCondition = fieldTypes.stream().map(
582585
f -> {
583-
if (Arrays.asList(NEED_QUOTE_TYPE).contains(f.toLowerCase())) {
584-
return String.format("cast(? as %s)", f.toLowerCase());
586+
for(String item : NEED_QUOTE_TYPE) {
587+
if (f.toLowerCase().contains(item)) {
588+
return String.format("cast(? as %s)", f.toLowerCase());
589+
}
585590
}
586591
return "?";
587592
}).collect(Collectors.joining(", "));

0 commit comments

Comments
 (0)