Open
Description
query options from matching(query) not used by ReactiveFindByQueryOperationSupport.all()
@Test
@Disabled
void mmm() {
JsonObject queryPlaceholderValues = JsonValue.jo();
queryPlaceholderValues.put("$one", "a");
queryPlaceholderValues.put("$two", "two");
QueryScanConsistency scanConsistency = REQUEST_PLUS;
N1QLExpression expression = N1QLExpression.x("select * from my_bucket where firstname = $one and lastname = $two");
N1QLQuery query = buildQueryParams(expression, queryPlaceholderValues, scanConsistency);
// query.getOptions() doesn't get copied
couchbaseTemplate.findByQuery(User.class).matching(query).all();
}
public static N1QLQuery buildQueryParams(N1QLExpression expression, JsonValue queryPlaceholderValues,
QueryScanConsistency scanConsistency) {
QueryOptions opts = QueryOptions.queryOptions().scanConsistency(scanConsistency); // put the placeholders in the
// options","
if (queryPlaceholderValues instanceof JsonObject && !((JsonObject) queryPlaceholderValues).isEmpty()) {
opts.parameters((JsonObject) queryPlaceholderValues);
} else if (queryPlaceholderValues instanceof JsonArray && !((JsonArray) queryPlaceholderValues).isEmpty()) {
opts.parameters((JsonArray) queryPlaceholderValues);
}
return new N1QLQuery(expression, opts);
}