use of org.apache.cayenne.dba.postgres.sqltree.PositionFunctionNode in project cayenne by apache.
the class PostgreSQLTreeProcessor method onFunctionNode.
protected Optional<Node> onFunctionNode(Node parent, FunctionNode child, int index) {
Node replacement = null;
String functionName = child.getFunctionName();
if (EXTRACT_FUNCTION_NAMES.contains(functionName)) {
replacement = new PostgresExtractFunctionNode(functionName);
} else if ("CURRENT_DATE".equals(functionName) || "CURRENT_TIME".equals(functionName) || "CURRENT_TIMESTAMP".equals(functionName)) {
replacement = new FunctionNode(functionName, child.getAlias(), false);
} else if ("LOCATE".equals(functionName)) {
replacement = new PositionFunctionNode(child.getAlias());
}
return Optional.ofNullable(replacement);
}
Aggregations