DATAREDIS-547 - Polishing.

Return empty list if offset is greater than the available data set. Update supported keywords in reference docs.

Original pull request: #216.
This commit is contained in:
Mark Paluch
2016-09-12 14:27:18 +02:00
parent 83ff5ec85b
commit a8462c597e
4 changed files with 52 additions and 3 deletions

View File

@@ -18,6 +18,7 @@ package org.springframework.data.redis.core;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
@@ -364,6 +365,11 @@ public class RedisKeyValueAdapter extends AbstractKeyValueAdapter
List<byte[]> keys = new ArrayList<byte[]>(ids);
if (keys.isEmpty() || keys.size() < offset) {
return Collections.emptyList();
}
offset = Math.max(0, offset);
if (offset >= 0 && rows > 0) {
keys = keys.subList(offset, Math.min(offset + rows, keys.size()));

View File

@@ -102,7 +102,7 @@ class RedisQueryEngine extends QueryEngine<RedisKeyValueAdapter, RedisOperationC
final Map<byte[], Map<byte[], byte[]>> rawData = new LinkedHashMap<byte[], Map<byte[], byte[]>>();
if (allKeys.size() == 0 || allKeys.size() < offset) {
if (allKeys.isEmpty() || allKeys.size() < offset) {
return Collections.emptyMap();
}