@Override public void visitOffset(Query query) { x ^= query.getOffset() ; }
offset = query.getOffset();
@Override public void visitOffset(Query query) { newQuery.setOffset(query.getOffset()) ; }
@Override public void visitOffset(Query query) { newQuery.setOffset(query.getOffset()); }
public static Range<Long> toRange(Query query) { Range<Long> result = toRange(query.getOffset(), query.getLimit()); return result; }
public PaginationQueryIterator createQueryIterator(Long offset, Long limit) { long o = offset == null ? 0 : offset; long l = limit == null ? Long.MAX_VALUE : limit; long queryOffset = proto.getOffset() == Query.NOLIMIT ? 0 : proto.getOffset(); long itemOffset = queryOffset + o; long queryLimit = proto.getLimit() == Query.NOLIMIT ? Long.MAX_VALUE : proto.getLimit() - o; long itemLimit = Math.min(queryLimit, l); itemLimit = itemLimit == Long.MAX_VALUE ? Query.NOLIMIT : itemLimit; Query clone = proto.cloneQuery(); clone.setOffset(itemOffset); clone.setLimit(itemLimit); PaginationQueryIterator result = new PaginationQueryIterator(clone, pageSize); return result; } }
@Override public void visitOffset(Query query) { if ( query.hasOffset() ) { out.print("OFFSET "+query.getOffset()) ; out.newline() ; } }
@Override public QueryExecution createQueryExecution(Query query) { Query q = query.cloneQuery(); long offset = q.getOffset() == Query.NOLIMIT ? 0 : q.getOffset(); long limit = q.getLimit(); long o = (offset / pageExpandSize) * pageExpandSize; long l; if(limit != Query.NOLIMIT) { long target = offset + limit; long t = ((target / pageExpandSize) + 1) * pageExpandSize; l = t - o; } else { l = Query.NOLIMIT; } long start = o - offset; // Align offset and target to pageExpandSize boundaries q.setOffset(o); q.setLimit(l); QueryExecution qe = qef.createQueryExecution(q); //QueryExecutionRange result = new QueryExecutionRange(qe, start, l); QueryExecution result = null; return result; }
/** * Sets up a new query execution. * * @param source The input CSV file * @param options Configuration options for the CSV file * @param query The input query */ public TarqlQueryExecution(InputStreamSource source, CSVOptions options, TarqlQuery query) { if (options == null) { options = new CSVOptions(); } if (options.hasColumnNamesInFirstRow() == null) { // Presence or absence of header row was not specified on command line or FROM clause. // So we fall back to the convention where OFFSET 1 in the query // indicates that a header is present. To make that work, we // set the OFFSET to 0 and tell the parser to gobble up the first // row for column names. options = new CSVOptions(options); Query firstQuery = query.getQueries().get(0); if (firstQuery.getOffset() == 1) { options.setColumnNamesInFirstRow(true); firstQuery.setOffset(0); } } table = new CSVTable(source, options); tq = query; }
/** * Copy all the modifications from the Solution Modifier argument * @param solutionModifier The solution modifier to copy from. */ public void addAll(SolutionModifierHandler solutionModifier) { List<SortCondition> lst = solutionModifier.query.getOrderBy(); if (lst != null) { for (SortCondition sc : lst) { query.addOrderBy(sc); } } query.getGroupBy().addAll(solutionModifier.query.getGroupBy()); query.getHavingExprs().addAll(solutionModifier.query.getHavingExprs()); query.setLimit(solutionModifier.query.getLimit()); query.setOffset(solutionModifier.query.getOffset()); }
/** * Copy all the modifications from the Solution Modifier argument * @param solutionModifier The solution modifier to copy from. */ public void addAll(SolutionModifierHandler solutionModifier) { List<SortCondition> lst = solutionModifier.query.getOrderBy(); if (lst != null) { for (SortCondition sc : lst) { query.addOrderBy(sc); } } query.getGroupBy().addAll(solutionModifier.query.getGroupBy()); query.getHavingExprs().addAll(solutionModifier.query.getHavingExprs()); query.setLimit(solutionModifier.query.getLimit()); query.setOffset(solutionModifier.query.getOffset()); }
final long offset = _query.hasOffset() ? _query.getOffset() : 0; final long limit = _query.hasLimit() ? _query.getLimit() : Long.MAX_VALUE; results = new SlicedResultSet(results, offset, limit);
final long offset = _query.hasOffset() ? _query.getOffset() : 0; final long limit = _query.hasLimit() ? _query.getLimit() : Long.MAX_VALUE; results = new SlicedResultSet(results, offset, limit);
final long offset = _query.hasOffset() ? _query.getOffset() : 0; final long limit = _query.hasLimit() ? _query.getLimit() : Long.MAX_VALUE; results = new SlicedResultSet(results, offset, limit);
offset = query.getOffset() + 1; query.setOffset(Query.NOLIMIT);
op = new OpSlice(op, query.getOffset() /*start*/, query.getLimit()/*length*/) ;