Fix arrayContaining n1ql generated. (#1548)

Closed #1545.
This commit is contained in:
Michael Reiche
2022-08-26 16:18:01 -07:00
committed by mikereiche
parent 935dd1f808
commit d3f1095474
3 changed files with 8 additions and 3 deletions

View File

@@ -331,12 +331,12 @@ public class QueryCriteria implements QueryCriteriaDefinition {
}
public QueryCriteria arrayContaining(boolean ignoreCase, @Nullable Object o) {
operator = "array_containing";
operator = "array_contains";
if (ignoreCase) {
throw new CouchbaseException("ignoreCase not supported in IN and NOT_IN");
}
value = new Object[] { o };
format = "array_containing(%1$s, %3$s)";
format = "array_contains(%1$s, %3$s)";
return this;
}

View File

@@ -133,6 +133,11 @@ class CouchbaseTemplateQueryIntegrationTests extends JavaIntegrationTests {
.matching(specialUsers).all();
assertEquals(1, foundUsers.size());
Query arrayContaining = new Query(QueryCriteria.where(i("firstname")).arrayContaining("not_match_anything"));
final List<User> foundArrayContaining = couchbaseTemplate.findByQuery(User.class).withConsistency(REQUEST_PLUS)
.matching(arrayContaining).all();
assertEquals(0, foundArrayContaining.size());
}
@Test

View File

@@ -180,7 +180,7 @@ class QueryCriteriaTests {
@Test
void testArrayContaining() {
QueryCriteria c = where(i("name")).arrayContaining("Elvis");
assertEquals("array_containing(`name`, \"Elvis\")", c.export());
assertEquals("array_contains(`name`, \"Elvis\")", c.export());
}
@Test