public int getLength() { if (this.arguments.size() == 1) { SQLExpr arg = this.arguments.get(0); if (arg instanceof SQLIntegerExpr) { return ((SQLIntegerExpr) arg).getNumber().intValue(); } } return -1; }
int scale = 0; if (x.getArguments().size() > 1) { scale = ((SQLIntegerExpr) x.getArguments().get(1)).getNumber().intValue();
protected void printInteger(SQLIntegerExpr x, boolean parameterized) { Number number = x.getNumber();
SQLExpr arg0 = argumentns.get(0); if (arg0 instanceof SQLIntegerExpr) { len = ((SQLIntegerExpr) arg0).getNumber().intValue(); precision = 9; } else { precision = ((SQLIntegerExpr) arg0).getNumber().intValue(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
SQLExpr arg0 = argumentns.get(0); if (arg0 instanceof SQLIntegerExpr) { len = ((SQLIntegerExpr) arg0).getNumber().intValue(); scale = -1; } else { precision = ((SQLIntegerExpr) arg0).getNumber().intValue(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); precision = ((SQLIntegerExpr) argumentns.get(0)).getNumber().intValue(); scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
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 boolean visit(SQLSelectOrderByItem x) { SQLExpr expr = x.getExpr(); if (expr instanceof SQLIntegerExpr) { print(((SQLIntegerExpr) expr).getNumber().longValue()); } else { printExpr(expr); } SQLOrderingSpecification type = x.getType(); if (type != null) { print(' '); print0(ucase ? type.name : type.name_lcase); } String collate = x.getCollate(); if (collate != null) { print0(ucase ? " COLLATE " : " collate "); print0(collate); } SQLSelectOrderByItem.NullsOrderType nullsOrderType = x.getNullsOrderType(); if (nullsOrderType != null) { print(' '); print0(nullsOrderType.toFormalString()); } return false; }
SQLBinaryOpExpr where = (SQLBinaryOpExpr) x.getWhere(); if (where.getRight() instanceof SQLIntegerExpr && where.getLeft() instanceof SQLIdentifierExpr) { rownum = ((SQLIntegerExpr) where.getRight()).getNumber().intValue(); ident = ((SQLIdentifierExpr) where.getLeft()).getName(); } else { && subWhere.getRight() instanceof SQLIntegerExpr) { int subRownum = ((SQLIntegerExpr) subWhere.getRight()).getNumber().intValue();
public int getLength() { if (this.arguments.size() == 1) { SQLExpr arg = this.arguments.get(0); if (arg instanceof SQLIntegerExpr) { return ((SQLIntegerExpr) arg).getNumber().intValue(); } } return -1; }
SQLIntegerExpr intExpr = (SQLIntegerExpr) expr; String binaryString = lexer.stringVal(); if (intExpr.getNumber().intValue() == 0 && binaryString.startsWith("b")) { lexer.nextToken(); expr = new SQLBinaryExpr(binaryString.substring(1));
int scale = 0; if (x.getArguments().size() > 1) { scale = ((SQLIntegerExpr) x.getArguments().get(1)).getNumber().intValue();
@Override public boolean visit(MySqlSelectQueryBlock.Limit x) { if (x.getOffset() instanceof SQLIntegerExpr) { SQLIntegerExpr offsetExpr = (SQLIntegerExpr) x.getOffset(); if (offsetExpr != null) { int offset = offsetExpr.getNumber().intValue(); result.getMergeContext().setOffset(offset); } } if (x.getRowCount() instanceof SQLIntegerExpr) { SQLIntegerExpr rowCountExpr = (SQLIntegerExpr) x.getRowCount(); if (rowCountExpr != null) { int limit = rowCountExpr.getNumber().intValue(); result.getMergeContext().setLimit(limit); } } result.getMergeContext().setLimitExpr(x); return true; }
protected void printInteger(SQLIntegerExpr x, boolean parameterized) { Number number = x.getNumber();
@Override public boolean visit(MySqlSelectQueryBlock x) { if (x.getLimit() != null) { if (x.getLimit().getOffset() != null) { if (x.getLimit().getOffset() instanceof SQLVariantRefExpr && params != null && params.size() > 0) { SQLVariantRefExpr ref = (SQLVariantRefExpr) x.getLimit().getOffset(); Integer offset = (Integer) params.get(ref.getIndex()); params.set(ref.getIndex(), offset / this.splitNum); } else { SQLIntegerExpr offset = (SQLIntegerExpr) x.getLimit().getOffset(); // 去尾法是符合算法的 offset.setNumber(offset.getNumber().longValue() / this.splitNum); } } } return super.visit(x); } }
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 boolean visit(SQLSelectOrderByItem x) { SQLExpr expr = x.getExpr(); if (expr instanceof SQLIntegerExpr) { print(((SQLIntegerExpr) expr).getNumber().longValue()); } else { printExpr(expr); } SQLOrderingSpecification type = x.getType(); if (type != null) { print(' '); print0(ucase ? type.name : type.name_lcase); } String collate = x.getCollate(); if (collate != null) { print0(ucase ? " COLLATE " : " collate "); print0(collate); } SQLSelectOrderByItem.NullsOrderType nullsOrderType = x.getNullsOrderType(); if (nullsOrderType != null) { print(' '); print0(nullsOrderType.toFormalString()); } return false; }
SQLBinaryOpExpr where = (SQLBinaryOpExpr) x.getWhere(); if (where.getRight() instanceof SQLIntegerExpr && where.getLeft() instanceof SQLIdentifierExpr) { rownum = ((SQLIntegerExpr) where.getRight()).getNumber().intValue(); ident = ((SQLIdentifierExpr) where.getLeft()).getName(); } else { && subWhere.getRight() instanceof SQLIntegerExpr) { int subRownum = ((SQLIntegerExpr) subWhere.getRight()).getNumber().intValue();