@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); boolean secondContains = context.getArgument(1).contains("?"); if (firstContains && context.getArgument(0).length() != 1 || secondContains && context.getArgument(1).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains) { if (secondContains) { bothParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { firstParamRenderer.start(context).addArgument(0).addArgument(1).build(); } } else if (secondContains) { secondParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).addArgument(1).build(); } } }
@Override public void render(FunctionRenderContext context) { GroupConcat groupConcat = getGroupConcat(context); StringBuilder sb = new StringBuilder(); if (groupConcat.isDistinct()) { sb.append("distinct "); } sb.append(groupConcat.getExpression()); sb.append(", "); appendQuoted(sb, groupConcat.getSeparator()); List<Order> orderBys = groupConcat.getOrderBys(); if (!orderBys.isEmpty()) { sb.append(") within group (order by "); render(sb, orderBys.get(0)); for (int i = 1; i < orderBys.size(); i++) { sb.append(", "); render(sb, orderBys.get(i)); } } renderer.start(context).addParameter(sb.toString()).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); boolean secondContains = context.getArgument(1).contains("?"); if (firstContains && context.getArgument(0).length() != 1 || secondContains && context.getArgument(1).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains) { if (secondContains) { bothParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { firstParamRenderer.start(context).addArgument(0).addArgument(1).build(); } } else if (secondContains) { secondParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).addArgument(1).build(); } } }
@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); boolean secondContains = context.getArgument(1).contains("?"); if (firstContains && context.getArgument(0).length() != 1 || secondContains && context.getArgument(1).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains) { if (secondContains) { bothParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { firstParamRenderer.start(context).addArgument(0).addArgument(1).build(); } } else if (secondContains) { secondParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).addArgument(1).build(); } } }
@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); boolean secondContains = context.getArgument(1).contains("?"); if (firstContains && context.getArgument(0).length() != 1 || secondContains && context.getArgument(1).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains) { if (secondContains) { bothParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { firstParamRenderer.start(context).addArgument(0).addArgument(1).build(); } } else if (secondContains) { secondParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).addArgument(1).build(); } } }
@Override public void render(FunctionRenderContext context) { GroupConcat groupConcat = getGroupConcat(context); StringBuilder sb = new StringBuilder(); if (groupConcat.isDistinct()) { sb.append("distinct "); } sb.append(groupConcat.getExpression()); List<Order> orderBys = groupConcat.getOrderBys(); if (!orderBys.isEmpty()) { sb.append(" order by "); render(sb, orderBys.get(0)); for (int i = 1; i < orderBys.size(); i++) { sb.append(", "); render(sb, orderBys.get(i)); } } sb.append(" separator "); appendQuoted(sb, groupConcat.getSeparator()); renderer.start(context).addParameter(sb.toString()).build(); }
@Override public void render(FunctionRenderContext context) { GroupConcat groupConcat = getGroupConcat(context); StringBuilder sb = new StringBuilder(); if (groupConcat.isDistinct()) { sb.append("distinct "); } sb.append(groupConcat.getExpression()); List<Order> orderBys = groupConcat.getOrderBys(); if (!orderBys.isEmpty()) { sb.append(" order by "); render(sb, orderBys.get(0)); for (int i = 1; i < orderBys.size(); i++) { sb.append(", "); render(sb, orderBys.get(i)); } } sb.append(" separator "); appendQuoted(sb, groupConcat.getSeparator()); renderer.start(context).addParameter(sb.toString()).build(); }
@Override public void render(FunctionRenderContext context) { GroupConcat groupConcat = getGroupConcat(context); StringBuilder sb = new StringBuilder(); if (groupConcat.isDistinct()) { sb.append("distinct "); } sb.append(groupConcat.getExpression()); sb.append(", "); appendQuoted(sb, groupConcat.getSeparator()); List<Order> orderBys = groupConcat.getOrderBys(); if (!orderBys.isEmpty()) { sb.append(" order by "); render(sb, orderBys.get(0)); for (int i = 1; i < orderBys.size(); i++) { sb.append(", "); render(sb, orderBys.get(i)); } } renderer.start(context).addParameter(sb.toString()).build(); } }
@Override public void render(FunctionRenderContext context) { GroupConcat groupConcat = getGroupConcat(context); StringBuilder sb = new StringBuilder(); if (groupConcat.isDistinct()) { sb.append("distinct "); } sb.append(groupConcat.getExpression()); sb.append(", "); appendQuoted(sb, groupConcat.getSeparator()); List<Order> orderBys = groupConcat.getOrderBys(); if (!orderBys.isEmpty()) { sb.append(") within group (order by "); render(sb, orderBys.get(0)); for (int i = 1; i < orderBys.size(); i++) { sb.append(", "); render(sb, orderBys.get(i)); } } renderer.start(context).addParameter(sb.toString()).build(); }
@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); boolean secondContains = context.getArgument(1).contains("?"); if (firstContains && context.getArgument(0).length() != 1 || secondContains && context.getArgument(1).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains & secondContains) { bothParamRenderer.start(context).addArgument(0).addArgument(1).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).addArgument(1).build(); } } }
@Override protected void renderDiff(FunctionRenderContext context) { boolean firstContains = context.getArgument(0).contains("?"); if (firstContains && context.getArgument(0).length() != 1) { throw new IllegalArgumentException("Only simple parameters or expressions are allowed because of a needed reordering in SQL which is otherwise not possible! Expressions ['" + context.getArgument(0) + "', '" + context.getArgument(1) + "'] do not comply!"); } if (firstContains) { paramRenderer.start(context).addArgument(0).build(); } else { // Reuse the expression multiple times renderer.start(context).addArgument(0).build(); } } }
protected void renderPagePosition(FunctionRenderContext functionRenderContext, String idName) { renderer.start(functionRenderContext).addArgument(0).addArgument(1).addParameter(idName).build(); }
protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).build(); } }
protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override protected void renderDiff(FunctionRenderContext context) { renderer.start(context).addArgument(0).addArgument(1).build(); } }
@Override public void render(FunctionRenderContext context) { if (context.getArgumentsSize() != 1) { throw new RuntimeException("The year function needs exactly one argument <datetime>! args=" + context); } renderer.start(context).addArgument(0).build(); } }