private KuduPredicate predicateComparator()

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;
    }