public static Map extractTrinoColumnHandleForExpressionFilter()

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