public QueryTransformer<F, T> limit(int limit) { query.limit(limit); return this; }
private T executeQueryFirst() { limit(1); List<T> list = executeQuery(); if (list.size() == 0) { return null; } return list.get(0); }
private void configureQuery(int batchSize, QueryBuilder<?> q) { if (cursor != null) { q.cursor(cursor); } q.limit(batchSize); }
private QueryBuilder<Work> worksQuery() { long timestamp = System.currentTimeMillis() - ELAPSED_TIME_MILLES; QueryBuilder<Work> q = yawp(Work.class).where("timestamp", "<=", timestamp); if (cursor != null) { q.setCursor(cursor); } q.limit(BATCH_SIZE); return q; }
private QueryBuilder<SinkMarker> prepareQuery() { QueryBuilder<SinkMarker> q = r.query(SinkMarker.class).from(sinkId).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } return q; }
private List<? extends IdRef<?>> sinkIds() { QueryBuilder<?> q = r.query(sinkClazz).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
private List<? extends IdRef<?>> sourceIds() { QueryBuilder<?> q = r.query(sourceClazz).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
private List<? extends IdRef<?>> sinkMarkerIds() { QueryBuilder<?> q = r.query(SinkMarker.class).from(sinkId).order("id").limit(BATCH_SIZE); if (cursor != null) { q.cursor(cursor); } List<? extends IdRef<?>> ids = q.ids(); if (ids.size() < BATCH_SIZE) { cursor = null; } else { cursor = q.getCursor(); } return ids; } }
public QueryBuilder<T> options(QueryOptions options) { if (options.getCondition() != null) { where(options.getCondition()); } if (options.getPreOrders() != null) { preOrders.addAll(options.getPreOrders()); } if (options.getPostOrders() != null) { postOrders.addAll(options.getPostOrders()); } if (options.getLimit() != null) { limit(options.getLimit()); } if (options.getCursor() != null) { cursor(options.getCursor()); } return this; }
@Test public void testLimit() { saveManyBasicObjects(3); List<BasicObject> objects = yawp(BasicObject.class).order("intValue", "desc").limit(1).list(); assertEquals(1, objects.size()); assertEquals(3, objects.get(0).getIntValue()); }
@Test public void testCursor() { saveManyBasicObjects(3); QueryBuilder<BasicObject> q = yawp(BasicObject.class).order("intValue", "desc").limit(1); List<BasicObject> objects1 = q.list(); assertEquals(3, objects1.get(0).getIntValue()); List<BasicObject> objects2 = q.list(); assertEquals(2, objects2.get(0).getIntValue()); List<BasicObject> objects3 = yawp(BasicObject.class).cursor(q.getCursor()).order("intValue", "desc").limit(1).list(); assertEquals(1, objects3.get(0).getIntValue()); }