Skip to content

query options from matching(query) not used by ReactiveFindByQueryOperationSupport.all() #1544

Open
@mikereiche

Description

@mikereiche

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);
	}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions