diff --git a/jans-orm/couchbase/src/main/java/io/jans/orm/couchbase/operation/impl/CouchbaseOperationServiceImpl.java b/jans-orm/couchbase/src/main/java/io/jans/orm/couchbase/operation/impl/CouchbaseOperationServiceImpl.java index 9ca6b1d5a97..57a563440be 100644 --- a/jans-orm/couchbase/src/main/java/io/jans/orm/couchbase/operation/impl/CouchbaseOperationServiceImpl.java +++ b/jans-orm/couchbase/src/main/java/io/jans/orm/couchbase/operation/impl/CouchbaseOperationServiceImpl.java @@ -518,7 +518,7 @@ private PagedResult searchImpl(BucketMapping bucketMapping, Stri StringBuilder query = null; int currentLimit; - int lastResultCount = 0; + int lastCountRows = 0; try { List lastSearchResultList; do { @@ -539,26 +539,26 @@ private PagedResult searchImpl(BucketMapping bucketMapping, Stri } lastSearchResultList = lastResult.rowsAsObject(); - lastResultCount = lastSearchResultList.size(); + lastCountRows = lastSearchResultList.size(); if (batchOperation != null) { - collectSearchResult = batchOperation.collectSearchResult(lastResultCount); + collectSearchResult = batchOperation.collectSearchResult(lastCountRows); } if (collectSearchResult) { searchResultList.addAll(lastSearchResultList); } - if ((batchOperation != null) && (lastResultCount > 0)) { + if ((batchOperation != null) && (lastCountRows > 0)) { List entries = batchOperationWraper.createEntities(lastSearchResultList); batchOperation.performAction(entries); } - totalEntriesCount += lastResultCount; + totalEntriesCount += lastCountRows; - if ((count > 0) && (totalEntriesCount >= count)) { + if ((count > 0) && (totalEntriesCount >= count) || (lastCountRows < currentLimit)) { break; } - } while (lastResultCount > 0); + } while (lastCountRows > 0); } catch (CouchbaseException ex) { throw new SearchException("Failed to search entries. Query: '" + query + "'", ex); } diff --git a/jans-orm/spanner/src/main/java/io/jans/orm/cloud/spanner/operation/impl/SpannerOperationServiceImpl.java b/jans-orm/spanner/src/main/java/io/jans/orm/cloud/spanner/operation/impl/SpannerOperationServiceImpl.java index 0877ba0e0cc..368c5cf61e6 100644 --- a/jans-orm/spanner/src/main/java/io/jans/orm/cloud/spanner/operation/impl/SpannerOperationServiceImpl.java +++ b/jans-orm/spanner/src/main/java/io/jans/orm/cloud/spanner/operation/impl/SpannerOperationServiceImpl.java @@ -653,7 +653,7 @@ private PagedResult searchImpl(TableMapping tableMapping, String resultCount += lastCountRows; - if ((count > 0) && (resultCount >= count)) { + if ((count > 0) && (resultCount >= count) || (lastCountRows < currentLimit)) { break; } } while (lastCountRows > 0);