@View(name = "by_nextFireTime", map = "function(doc) { if (doc.type === 'CouchDbTrigger' && doc.state === 'WAITING') emit(doc.next_fire_time, doc._id); }") public List<CouchDbTrigger> acquireNextTriggers(long noLaterThan, int maxCount, long timeWindow) throws JobPersistenceException { logger.info("by_nextFireTime"); return db.queryView(createQuery("by_nextFireTime").startKey(new Date(0)).endKey(new Date(noLaterThan + timeWindow)).limit(maxCount).includeDocs(true), CouchDbTrigger.class); }
protected List<T> getAll(int limit) { ViewQuery q = createQuery("all").limit(limit).includeDocs(true); return db.queryView(q, type); }
@Override protected DataSet materializeMainSchemaTable(Table table, List<Column> columns, int firstRow, int maxRows) { // the connector represents a handle to the the couchdb "database". final String databaseName = table.getName(); final CouchDbConnector connector = _couchDbInstance.createConnector(databaseName, false); ViewQuery query = new ViewQuery().allDocs().includeDocs(true); if (maxRows > 0) { query = query.limit(maxRows); } if (firstRow > 1) { final int skip = firstRow - 1; query = query.skip(skip); } final StreamingViewResult streamingView = connector.queryForStreamingView(query); final List<SelectItem> selectItems = columns.stream().map(SelectItem::new).collect(Collectors.toList()); return new CouchDbDataSet(selectItems, streamingView); }
viewQuery.limit(pageSize);
viewQuery.limit(pageSize);
public CouchDbDatabaseDocumentSource(CouchDbInstance couchDbInstance, String databaseName, int maxRows) { _couchDbInstance = couchDbInstance; _databaseName = databaseName; _closed = new AtomicBoolean(false); final CouchDbConnector tableConnector = _couchDbInstance.createConnector(databaseName, false); if (maxRows > -1) { _view = tableConnector.queryForStreamingView(new ViewQuery().allDocs().includeDocs(true).limit(maxRows)); } else { _view = tableConnector.queryForStreamingView(new ViewQuery().allDocs().includeDocs(true)); } _rowIterator = _view.iterator(); }
/** * Execute the query and return the result. */ @Override public Result<K, T> execute(Query<K, T> query) { query.setFields(getFieldsToQuery(query.getFields())); final ViewQuery viewQuery = new ViewQuery() .allDocs() .includeDocs(true) .startKey(query.getStartKey()) .endKey(query.getEndKey()) .limit(Ints.checkedCast(query.getLimit())); //FIXME GORA have long value but ektorp client use integer CouchDBResult<K, T> couchDBResult = new CouchDBResult<>(this, query, db.queryView(viewQuery, Map.class)); return couchDBResult; }
public static ViewQuery applyPagingParameters(ViewQuery q, PageRequest pr) { ViewQuery pagedQuery = q.clone(); if (pr.page > 0) { if (pr.getStartKey() != null) { pagedQuery.startKey(pr.getStartKey()); } if (pr.getStartKeyDocId() != null) { pagedQuery.startDocId(pr.getStartKeyDocId()); } if (pr.back) { pagedQuery.descending(!pagedQuery.isDescending()); } } int additionalRowsToQuery = 1; pagedQuery.limit(pr.getPageSize() + additionalRowsToQuery); return pagedQuery; }
/** * Execute the query and return the result. */ @Override public Result<K, T> execute(Query<K, T> query) throws GoraException { try { query.setFields(getFieldsToQuery(query.getFields())); final ViewQuery viewQuery = new ViewQuery() .allDocs() .includeDocs(true) .startKey(query.getStartKey()) .endKey(query.getEndKey()) .limit(Ints.checkedCast(query.getLimit())); //FIXME GORA have long value but ektorp client use integer CouchDBResult<K, T> couchDBResult = new CouchDBResult<>(this, query, db.queryView(viewQuery, Map.class)); return couchDBResult; } catch (Exception e) { throw new GoraException(e) ; } }