scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
@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); } }
scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
scale = ((SQLIntegerExpr) argumentns.get(1)).getNumber().intValue(); if (precision < scale) { ((SQLIntegerExpr) dataType.getArguments().get(1)).setNumber(precision);
@Override public boolean visit(MySqlSelectQueryBlock.Limit x) { print0(ucase ? "LIMIT " : "limit "); int offset = Integer.MIN_VALUE; if (x.getOffset() != null) { if (x.getOffset() instanceof SQLIntegerExpr && !pr.getMergeContext().isOrderBySplitSql()) { SQLIntegerExpr offsetExpr = (SQLIntegerExpr) x.getOffset(); offset = (Integer) offsetExpr.getValue(); offsetExpr.setNumber(0); offsetExpr.accept(this); } else { x.getOffset().accept(this); } print0(", "); } int limit = Integer.MAX_VALUE; if (x.getRowCount() instanceof SQLIntegerExpr && !pr.getMergeContext().isOrderBySplitSql()) { SQLIntegerExpr rowCountExpr = (SQLIntegerExpr) x.getRowCount(); if (offset != Integer.MIN_VALUE) { limit = (Integer) rowCountExpr.getValue(); rowCountExpr.setNumber(offset + limit); } rowCountExpr.accept(this); } else { x.getRowCount().accept(this); } return false; }