in flink-connector-kudu/src/main/java/org/apache/flink/connector/kudu/connector/KuduFilterInfo.java [63:124]
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;
}