protected void visitAggreateRest(SQLAggregateExpr x) { SQLOrderBy orderBy = x.getWithinGroup(); if (orderBy != null) { print(' '); orderBy.accept(this); } } }
public void setOrderBy(SQLOrderBy orderBy) { if (orderBy != null) { orderBy.setParent(this); } this.orderBy = orderBy; }
public void addItem(SQLExpr expr, SQLOrderingSpecification type) { SQLSelectOrderByItem item = createItem(); item.setExpr(expr); item.setType(type); addItem(item); }
public SQLOrderBy parseOrderBy() { if (lexer.token == Token.ORDER) { SQLOrderBy orderBy = new SQLOrderBy(); lexer.nextToken(); if (lexer.identifierEquals(FnvHash.Constants.SIBLINGS)) { lexer.nextToken(); orderBy.setSibings(true); } accept(Token.BY); orderBy(orderBy.getItems(), orderBy); return orderBy; } return null; }
public boolean visit(SQLOrderBy x) { List<SQLSelectOrderByItem> items = x.getItems(); if (items.size() > 0) { if (x.isSibings()) { print0(ucase ? "ORDER SIBLINGS BY " : "order siblings by "); } else { print0(ucase ? "ORDER BY " : "order by "); } for (int i = 0, size = items.size(); i < size; ++i) { if (i != 0) { print0(", "); } SQLSelectOrderByItem item = items.get(i); visit(item); } } return false; }
public boolean visit(SQLOrderBy x) { final SQLASTVisitor orderByVisitor = createOrderByVisitor(x); SQLSelectQueryBlock query = null; if (x.getParent() instanceof SQLSelectQueryBlock) { query = (SQLSelectQueryBlock) x.getParent(); } if (query != null) { for (SQLSelectOrderByItem item : x.getItems()) { SQLExpr expr = item.getExpr(); if (expr instanceof SQLIntegerExpr) { int intValue = ((SQLIntegerExpr) expr).getNumber().intValue() - 1; if (intValue < query.getSelectList().size()) { SQLSelectItem selectItem = query.getSelectList().get(intValue); selectItem.getExpr().accept(orderByVisitor); } } else if (expr instanceof MySqlExpr || expr instanceof OracleExpr) { continue; } } } x.accept(orderByVisitor); for (SQLSelectOrderByItem orderByItem : x.getItems()) { statExpr( orderByItem.getExpr()); } return false; }
aggregateExpr.getArguments().addAll(methodInvokeExpr.getParameters()); SQLOrderBy orderBy = new SQLOrderBy(); this.orderBy(orderBy.getItems(), orderBy); aggregateExpr.setWithinGroup(orderBy);
@Override public SQLExpr toExpression() { SQLAggregateExpr aggregate = new SQLAggregateExpr(funcName()); if (hasWithDistinct()) { aggregate.setOption(SQLAggregateOption.DISTINCT); } if (orders != null) { SQLOrderBy orderBy = new SQLOrderBy(); for (Order order : orders) { SQLSelectOrderByItem orderItem = new SQLSelectOrderByItem(order.getItem().toExpression()); orderItem.setType(order.getSortOrder()); orderBy.addItem(orderItem); } aggregate.putAttribute(ItemFuncKeyWord.ORDER_BY, orderBy); } for (Item arg : args) { aggregate.addArgument(arg.toExpression()); } if (seperator != null) { SQLCharExpr sep = new SQLCharExpr(seperator); aggregate.putAttribute(ItemFuncKeyWord.SEPARATOR, sep); } return aggregate; }
protected SQLOrderBy createOrderBy() { return new SQLOrderBy(); }
public SQLOrderBy(SQLExpr expr){ SQLSelectOrderByItem item = new SQLSelectOrderByItem(expr); addItem(item); }
public boolean visit(SQLOrderBy x) { final SQLASTVisitor orderByVisitor = createOrderByVisitor(x); SQLSelectQueryBlock query = null; if (x.getParent() instanceof SQLSelectQueryBlock) { query = (SQLSelectQueryBlock) x.getParent(); } if (query != null) { for (SQLSelectOrderByItem item : x.getItems()) { SQLExpr expr = item.getExpr(); if (expr instanceof SQLIntegerExpr) { int intValue = ((SQLIntegerExpr) expr).getNumber().intValue() - 1; if (intValue < query.getSelectList().size()) { SQLSelectItem selectItem = query.getSelectList().get(intValue); selectItem.getExpr().accept(orderByVisitor); } } else if (expr instanceof MySqlExpr || expr instanceof OracleExpr) { continue; } } } x.accept(orderByVisitor); for (SQLSelectOrderByItem orderByItem : x.getItems()) { statExpr( orderByItem.getExpr()); } return false; }
public SQLOrderBy parseOrderBy() { if (lexer.token == Token.ORDER) { SQLOrderBy orderBy = new SQLOrderBy(); lexer.nextToken(); if (lexer.identifierEquals(FnvHash.Constants.SIBLINGS)) { lexer.nextToken(); orderBy.setSibings(true); } accept(Token.BY); orderBy(orderBy.getItems(), orderBy); return orderBy; } return null; }
aggregateExpr.getArguments().addAll(methodInvokeExpr.getParameters()); SQLOrderBy orderBy = new SQLOrderBy(); this.orderBy(orderBy.getItems(), orderBy); aggregateExpr.setWithinGroup(orderBy);
public boolean visit(SQLOrderBy x) { List<SQLSelectOrderByItem> items = x.getItems(); if (items.size() > 0) { if (x.isSibings()) { print0(ucase ? "ORDER SIBLINGS BY " : "order siblings by "); } else { print0(ucase ? "ORDER BY " : "order by "); } for (int i = 0, size = items.size(); i < size; ++i) { if (i != 0) { print0(", "); } SQLSelectOrderByItem item = items.get(i); visit(item); } } return false; }
public void addItem(SQLExpr expr, SQLOrderingSpecification type) { SQLSelectOrderByItem item = createItem(); item.setExpr(expr); item.setType(type); addItem(item); }
public SQLOrderBy clone() { SQLOrderBy x = new SQLOrderBy(); for (SQLSelectOrderByItem item : items) { SQLSelectOrderByItem item1 = item.clone(); item1.setParent(x); x.items.add(item1); } x.sibings = sibings; return x; } }