in flink-connector-kudu/src/main/java/org/apache/flink/connectors/kudu/connector/KuduFilterInfo.java [60:103]
private KuduPredicate predicateComparator(ColumnSchema column) {
KuduPredicate.ComparisonOp comparison = this.type.comparator;
KuduPredicate predicate;
switch (column.getType()) {
case STRING:
predicate = KuduPredicate.newComparisonPredicate(column, comparison,
(this.value instanceof BinaryStringData) ? this.value.toString() : (String) this.value);
break;
case FLOAT:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (float) this.value);
break;
case INT8:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (byte) this.value);
break;
case INT16:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (short) this.value);
break;
case INT32:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (int) this.value);
break;
case INT64:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (long) this.value);
break;
case DOUBLE:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (double) this.value);
break;
case BOOL:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (boolean) this.value);
break;
case UNIXTIME_MICROS:
Long time = (Long) this.value;
predicate = KuduPredicate.newComparisonPredicate(column, comparison, time * 1000);
break;
case BINARY:
predicate = KuduPredicate.newComparisonPredicate(column, comparison, (byte[]) this.value);
break;
default:
throw new IllegalArgumentException("Illegal var type: " + column.getType());
}
return predicate;
}