private static Statement get(String bucket, String[] documents, int firstResult, int maxResult, Sort[] sorts, Expression condition) { boolean hasFistResult = firstResult > 0; boolean hasMaxResult = maxResult > 0; if (hasFistResult && hasMaxResult) { return select(documents).from(i(bucket)) .where(condition) .orderBy(sorts) .limit(maxResult) .offset(firstResult); } else if (hasFistResult) { return select(documents).from(i(bucket)) .where(condition) .orderBy(sorts) .offset(firstResult); } else if (hasMaxResult) { return select(documents).from(i(bucket)).where(condition) .orderBy(sorts) .limit(maxResult); } return select(documents).from(i(bucket)).where(condition).orderBy(sorts); }
public List<User> findAll() { if (useCouchbaseForFindAll && couchbaseBucket != null) { try { Statement statement = Select.select("avatarId", "bio", "displayName", "id", "nickname").from(x("default")) .where(x("type").eq(s("user"))).groupBy(x("displayName")); N1qlQueryResult queryResult = couchbaseBucket.query(statement); List<User> users = new ArrayList<User>(); for (N1qlQueryRow qr : queryResult) { users.add(User.fromJsonObject(qr.value())); } return users; } catch (Exception e) { throw new DogePoolException("Error while getting list of users from database", Error.DATABASE, HttpStatus.INTERNAL_SERVER_ERROR, e); } } else { return Arrays.asList(User.USER, User.OTHERUSER); } } }
private static Statement get(String bucket, String[] documents, int firstResult, int maxResult, Expression condition) { boolean hasFistResult = firstResult > 0; boolean hasMaxResult = maxResult > 0; if (hasFistResult && hasMaxResult) { return select(documents).from(i(bucket)) .where(condition) .limit(maxResult) .offset(firstResult); } else if (hasFistResult) { return select(documents).from(i(bucket)) .where(condition) .offset(firstResult); } else if (hasMaxResult) { return select(documents).from(i(bucket)).where(condition) .limit(maxResult); } return select(documents).from(i(bucket)).where(condition); }
@Override public Observable<IndexInfo> listN1qlIndexes() { Expression whereClause = x("keyspace_id").eq(s(bucket)) .and(i("using").eq(s("gsi"))); Statement listIndexes = select("idx.*").from(x("system:indexes").as("idx")).where(whereClause) .orderBy(Sort.desc("is_primary"), Sort.asc("name")); final Func1<List<JsonObject>, Observable<AsyncN1qlQueryRow>> errorHandler = errorsToThrowable( "Error while listing indexes: "); return queryExecutor.execute( N1qlQuery.simple(listIndexes, N1qlParams.build().consistency(ScanConsistency.REQUEST_PLUS)), env, env.managementTimeout(), TimeUnit.MILLISECONDS) .flatMap(new Func1<AsyncN1qlQueryResult, Observable<AsyncN1qlQueryRow>>() { @Override public Observable<AsyncN1qlQueryRow> call(final AsyncN1qlQueryResult aqr) { return aqr.finalSuccess() .flatMap(new Func1<Boolean, Observable<AsyncN1qlQueryRow>>() { @Override public Observable<AsyncN1qlQueryRow> call(Boolean success) { if (success) { return aqr.rows(); } else { return aqr.errors().toList().flatMap(errorHandler); } } }); } }).map(ROW_VALUE_TO_INDEXINFO); }
@Override public Iterable<T> findAll(Sort sort) { Assert.notNull(sort, "Sort must not be null!"); //prepare elements of the query WherePath selectFrom = N1qlUtils.createSelectFromForEntity(getCouchbaseOperations().getCouchbaseBucket().name()); Expression whereCriteria = N1qlUtils.createWhereFilterForEntity(null, getCouchbaseOperations().getConverter(), getEntityInformation()); //apply the sort com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(sort, getCouchbaseOperations().getConverter()); Statement st = selectFrom.where(whereCriteria).orderBy(orderings); //fire the query ScanConsistency consistency = getCouchbaseOperations().getDefaultConsistency().n1qlConsistency(); N1qlQuery query = N1qlQuery.simple(st, N1qlParams.build().consistency(consistency)); return getCouchbaseOperations().findByN1QL(query, getEntityInformation().getJavaType()); }
@Override public Iterable<T> findAll(Sort sort) { Assert.notNull(sort, "Sort must not be null!"); //prepare elements of the query WherePath selectFrom = N1qlUtils.createSelectFromForEntity(getCouchbaseOperations().getCouchbaseBucket().name()); Expression whereCriteria = N1qlUtils.createWhereFilterForEntity(null, getCouchbaseOperations().getConverter(), getEntityInformation()); //apply the sort com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(sort, getCouchbaseOperations().getConverter()); Statement st = selectFrom.where(whereCriteria).orderBy(orderings); //fire the query ScanConsistency consistency = getCouchbaseOperations().getDefaultConsistency().n1qlConsistency(); N1qlQuery query = N1qlQuery.simple(st, N1qlParams.build().consistency(consistency)); return getCouchbaseOperations().findByN1QL(query, getEntityInformation().getJavaType()); }
@SuppressWarnings("unchecked") @Override public Flux<T> findAll(Sort sort) { Assert.notNull(sort); //prepare elements of the query WherePath selectFrom = N1qlUtils.createSelectFromForEntity(getCouchbaseOperations().getCouchbaseBucket().name()); Expression whereCriteria = N1qlUtils.createWhereFilterForEntity(null, getCouchbaseOperations().getConverter(), getEntityInformation()); //apply the sort com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(sort, getCouchbaseOperations().getConverter()); Statement st = selectFrom.where(whereCriteria).orderBy(orderings); //fire the query ScanConsistency consistency = getCouchbaseOperations().getDefaultConsistency().n1qlConsistency(); N1qlQuery query = N1qlQuery.simple(st, N1qlParams.build().consistency(consistency)); return mapFlux(getCouchbaseOperations().findByN1QL(query, getEntityInformation().getJavaType())); }
@SuppressWarnings("unchecked") @Override public Flux<T> findAll(Sort sort) { Assert.notNull(sort); //prepare elements of the query WherePath selectFrom = N1qlUtils.createSelectFromForEntity(getCouchbaseOperations().getCouchbaseBucket().name()); Expression whereCriteria = N1qlUtils.createWhereFilterForEntity(null, getCouchbaseOperations().getConverter(), getEntityInformation()); //apply the sort com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(sort, getCouchbaseOperations().getConverter()); Statement st = selectFrom.where(whereCriteria).orderBy(orderings); //fire the query ScanConsistency consistency = getCouchbaseOperations().getDefaultConsistency().n1qlConsistency(); N1qlQuery query = N1qlQuery.simple(st, N1qlParams.build().consistency(consistency)); return mapFlux(getCouchbaseOperations().findByN1QL(query, getEntityInformation().getJavaType())); }
com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(pageable.getSort(), getCouchbaseOperations().getConverter()); limitPath = groupBy.orderBy(orderings);
com.couchbase.client.java.query.dsl.Sort[] orderings = N1qlUtils.createSort(pageable.getSort(), getCouchbaseOperations().getConverter()); limitPath = groupBy.orderBy(orderings);