@Override public ScrollResult<String> scroll(QueryBuilder builder, int batchSize, int keepAliveSeconds) { // as we're using pages to scroll audit, we need to add an order to make results across pages deterministic builder.orders(OrderByExprs.asc(LOG_ID), builder.orders().toArray(new OrderByExpr[0])); String scrollId = cursorService.registerCursorResult( new SQLAuditCursorResult(builder, batchSize, keepAliveSeconds)); return scroll(scrollId); }
OrderByList orders = builder.orders(); long offset = builder.offset(); long limit = builder.limit();
OrderByList orders = queryBuilder.orders(); boolean order = !orders.isEmpty();
OrderByList orders = queryBuilder.orders(); if (!orders.isEmpty()) { for (OrderByExpr ob : orders) {
int offset = Math.max(0, (int) queryBuilder.offset()); OrderByList orders = queryBuilder.orders(); boolean order = !orders.isEmpty(); SearchControls scts = order ? getDirectory().getSearchControls(true) : getDirectory().getIdSearchControls();
OrderByList orders = queryBuilder.orders(); if (!orders.isEmpty()) { for (OrderByExpr ob : orders) {
int offset = Math.max(0, (int) queryBuilder.offset()); boolean countTotal = queryBuilder.countTotal(); OrderByList orders = queryBuilder.orders(); Map<String, String> orderBy = AbstractDirectory.makeOrderBy(orders); if (!orderBy.isEmpty()) {
boolean countTotal = queryBuilder.countTotal(); OrderByList orders = queryBuilder.orders(); Map<String, String> orderBy = AbstractDirectory.makeOrderBy(orders); SearchControls scts = getDirectory().getSearchControls(true);
int offset = Math.max(0, (int) queryBuilder.offset()); Document sort = builder.walkOrderBy(queryBuilder.orders());
boolean countTotal = queryBuilder.countTotal(); Document sort = builder.walkOrderBy(queryBuilder.orders());
OrderByList orders = builder.orders(); long offset = builder.offset(); long limit = builder.limit();
@Override public ScrollResult<String> scroll(org.nuxeo.ecm.core.query.sql.model.QueryBuilder builder, int batchSize, int keepAliveSeconds) { // prepare parameters MultiExpression predicate = builder.predicate(); OrderByList orders = builder.orders(); // create source SearchSourceBuilder source = createSearchRequestSource(predicate, orders); source.size(batchSize); // create request SearchRequest request = createSearchRequest(); request.source(source).scroll(TimeValue.timeValueSeconds(keepAliveSeconds)); SearchResponse response = runRequest(request); // register cursor String scrollId = cursorService.registerCursorResult(new ESCursorResult(response, batchSize, keepAliveSeconds)); return scroll(scrollId); }