@Override public String getCustomFunctionInvocation(String functionName, int argumentCount) { return jpaProvider.getCustomFunctionInvocation(functionName, argumentCount); }
@Override protected void appendPageCountQueryStringExtensions(StringBuilder sbSelectFrom) { if (entityId != null) { parameterManager.addParameterMapping(ENTITY_PAGE_POSITION_PARAMETER_NAME, entityId, ClauseType.SELECT, this); sbSelectFrom.append(", "); sbSelectFrom.append(mainQuery.jpaProvider.getCustomFunctionInvocation(PagePositionFunction.FUNCTION_NAME, 2)); sbSelectFrom.append('('); appendSimplePageIdQueryString(sbSelectFrom); sbSelectFrom.append("),"); sbSelectFrom.append(':').append(ENTITY_PAGE_POSITION_PARAMETER_NAME); sbSelectFrom.append(")"); } }
protected String function(String name, String... args) { String registeredFunctionName; if ((registeredFunctionName = resolveRegisteredFunctionName(name)) != null) { StringBuilder sb = new StringBuilder(); sb.append(jpaProvider.getCustomFunctionInvocation(registeredFunctionName, args.length)); StringUtils.join(sb, ",", args); sb.append(')'); return sb.toString(); } else if (jpaProvider.supportsJpa21()) { StringBuilder sb = new StringBuilder(); sb.append("FUNCTION('").append(name).append('\''); for (String arg : args) { sb.append(",").append(arg); } sb.append(')'); return sb.toString(); } else { throw new IllegalArgumentException("Invalid JPA provider which does not support function syntax!"); } }
protected String function(String name, String... args) { String registeredFunctionName; if ((registeredFunctionName = resolveRegisteredFunctionName(name)) != null) { StringBuilder sb = new StringBuilder(); sb.append(jpaProvider.getCustomFunctionInvocation(registeredFunctionName, args.length)); StringUtils.join(sb, ",", args); sb.append(')'); return sb.toString(); } else if (jpaProvider.supportsJpa21()) { StringBuilder sb = new StringBuilder(); sb.append("FUNCTION('").append(name).append('\''); for (String arg : args) { sb.append(",").append(arg); } sb.append(')'); return sb.toString(); } else { throw new IllegalArgumentException("Invalid JPA provider which does not support function syntax!"); } }
protected void renderFunctionFunction(String functionName, List<Expression> arguments) { ParameterRenderingMode oldParameterRenderingMode = setParameterRenderingMode(ParameterRenderingMode.PLACEHOLDER); if (registeredFunctions.containsKey(functionName)) { sb.append(jpaProvider.getCustomFunctionInvocation(functionName, arguments.size())); if (arguments.size() > 0) { arguments.get(0).accept(this); for (int i = 1; i < arguments.size(); i++) { sb.append(","); arguments.get(i).accept(this); } } sb.append(')'); } else if (jpaProvider.supportsJpa21()) { // Add the JPA 2.1 Function style function sb.append("FUNCTION('"); sb.append(functionName); sb.append('\''); for (int i = 0; i < arguments.size(); i++) { sb.append(','); arguments.get(i).accept(this); } sb.append(')'); } else { throw new IllegalArgumentException("Unknown function [" + functionName + "] is used!"); } setParameterRenderingMode(oldParameterRenderingMode); }
sbSelectFrom.append("COUNT(*)"); } else { sbSelectFrom.append(mainQuery.jpaProvider.getCustomFunctionInvocation("count_star", 0)).append(')'); sbSelectFrom.append(mainQuery.jpaProvider.getCustomFunctionInvocation(AbstractCountFunction.FUNCTION_NAME, 1)); sbSelectFrom.append("'DISTINCT',"); countStar = "COUNT(*"; } else { countStar = mainQuery.jpaProvider.getCustomFunctionInvocation("count_star", 0);
queryGenerator.setClauseType(null); sb.append(jpaProvider.getCustomFunctionInvocation(RowValueComparisonFunction.FUNCTION_NAME, 1)) .append('\'').append(keysetMode == KeysetMode.SAME ? "<=" : "<").append('\'');