in paimon-python-java-bridge/src/main/java/org/apache/paimon/python/PredicationUtil.java [33:76]
public static Predicate build(
RowType rowType,
PredicateBuilder builder,
String method,
int index,
List<Object> literals) {
literals =
literals.stream()
.map(l -> convertJavaObject(rowType.getTypeAt(index), l))
.collect(Collectors.toList());
switch (method) {
case "equal":
return builder.equal(index, literals.get(0));
case "notEqual":
return builder.notEqual(index, literals.get(0));
case "lessThan":
return builder.lessThan(index, literals.get(0));
case "lessOrEqual":
return builder.lessOrEqual(index, literals.get(0));
case "greaterThan":
return builder.greaterThan(index, literals.get(0));
case "greaterOrEqual":
return builder.greaterOrEqual(index, literals.get(0));
case "isNull":
return builder.isNull(index);
case "isNotNull":
return builder.isNotNull(index);
case "startsWith":
return builder.startsWith(index, literals.get(0));
case "endsWith":
return builder.endsWith(index, literals.get(0));
case "contains":
return builder.contains(index, literals.get(0));
case "in":
return builder.in(index, literals);
case "notIn":
return builder.notIn(index, literals);
case "between":
return builder.between(index, literals.get(0), literals.get(1));
default:
throw new UnsupportedOperationException(
"Unknown PredicateBuilder method " + method);
}
}