in src/main/java/org/apache/paimon/trino/TrinoFilterExtractor.java [104:122]
public static Map<TrinoColumnHandle, Domain> extractTrinoColumnHandleForExpressionFilter(
Constraint constraint) {
Map<TrinoColumnHandle, Domain> expressionPredicates = Collections.emptyMap();
if (constraint.getExpression() instanceof Call) {
Call expression = (Call) constraint.getExpression();
Map<String, ColumnHandle> assignments = constraint.getAssignments();
if (expression.getFunctionName().equals(EQUAL_OPERATOR_FUNCTION_NAME)) {
expressionPredicates = handleExpressionEqualOrIn(assignments, expression, false);
} else if (expression.getFunctionName().equals(IN_PREDICATE_FUNCTION_NAME)) {
expressionPredicates = handleExpressionEqualOrIn(assignments, expression, true);
} else if (expression.getFunctionName().equals(AND_FUNCTION_NAME)) {
expressionPredicates = handleAndArguments(assignments, expression);
}
// TODO: Support "or" clause
}
return expressionPredicates;
}