in flink-connector-jdbc-core/src/main/java/org/apache/flink/connector/jdbc/core/table/source/JdbcFilterPushdownPreparedStatementVisitor.java [57:93]
public Optional<ParameterizedPredicate> visit(CallExpression call) {
if (BuiltInFunctionDefinitions.EQUALS.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("=", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.LESS_THAN.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("<", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.LESS_THAN_OR_EQUAL.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("<=", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.GREATER_THAN.equals(call.getFunctionDefinition())) {
return renderBinaryOperator(">", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.GREATER_THAN_OR_EQUAL.equals(call.getFunctionDefinition())) {
return renderBinaryOperator(">=", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.NOT_EQUALS.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("<>", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.OR.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("OR", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.AND.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("AND", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.LIKE.equals(call.getFunctionDefinition())) {
return renderBinaryOperator("LIKE", call.getResolvedChildren());
}
if (BuiltInFunctionDefinitions.IS_NULL.equals(call.getFunctionDefinition())) {
return renderUnaryOperator("IS NULL", call.getResolvedChildren().get(0), true);
}
if (BuiltInFunctionDefinitions.IS_NOT_NULL.equals(call.getFunctionDefinition())) {
return renderUnaryOperator("IS NOT NULL", call.getResolvedChildren().get(0), true);
}
return Optional.empty();
}