DATACOUCH-185 - view-based CRUD methods use default consistency
The CRUD methods that are backed by a view in SimpleCouchbaseRepository now take the default view consistency into account. This includes findAll(), findAll(keys), count() and deleteAll(). PagingAndSortingRepository findAll methods already took the default N1QL consistency into account. This is verified in an unit test and has been made more explicit in the repository documentation.
This commit is contained in:
@@ -134,6 +134,7 @@ public class SimpleCouchbaseRepository<T, ID extends Serializable> implements Co
|
||||
final ResolvedView resolvedView = determineView();
|
||||
ViewQuery query = ViewQuery.from(resolvedView.getDesignDocument(), resolvedView.getViewName());
|
||||
query.reduce(false);
|
||||
query.stale(getCouchbaseOperations().getDefaultConsistency().viewConsistency());
|
||||
return couchbaseOperations.findByView(query, entityInformation.getJavaType());
|
||||
}
|
||||
|
||||
@@ -142,6 +143,7 @@ public class SimpleCouchbaseRepository<T, ID extends Serializable> implements Co
|
||||
final ResolvedView resolvedView = determineView();
|
||||
ViewQuery query = ViewQuery.from(resolvedView.getDesignDocument(), resolvedView.getViewName());
|
||||
query.reduce(false);
|
||||
query.stale(getCouchbaseOperations().getDefaultConsistency().viewConsistency());
|
||||
JsonArray keys = JsonArray.create();
|
||||
for (ID id : ids) {
|
||||
keys.add(id);
|
||||
@@ -156,6 +158,7 @@ public class SimpleCouchbaseRepository<T, ID extends Serializable> implements Co
|
||||
final ResolvedView resolvedView = determineView();
|
||||
ViewQuery query = ViewQuery.from(resolvedView.getDesignDocument(), resolvedView.getViewName());
|
||||
query.reduce(true);
|
||||
query.stale(getCouchbaseOperations().getDefaultConsistency().viewConsistency());
|
||||
|
||||
ViewResult response = couchbaseOperations.queryView(query);
|
||||
|
||||
@@ -172,6 +175,8 @@ public class SimpleCouchbaseRepository<T, ID extends Serializable> implements Co
|
||||
final ResolvedView resolvedView = determineView();
|
||||
ViewQuery query = ViewQuery.from(resolvedView.getDesignDocument(), resolvedView.getViewName());
|
||||
query.reduce(false);
|
||||
query.stale(getCouchbaseOperations().getDefaultConsistency().viewConsistency());
|
||||
|
||||
|
||||
ViewResult response = couchbaseOperations.queryView(query);
|
||||
for (ViewRow row : response) {
|
||||
|
||||
Reference in New Issue
Block a user