From 1fd5b575756fa2bb96c275fe379b9bf3e2f68adc Mon Sep 17 00:00:00 2001 From: UglyTroLL Date: Tue, 18 Mar 2014 18:29:03 -0700 Subject: [PATCH 1/2] Fixed #595: The byte version of pipeline.getrange should returns byte[] instead of Long. TESTED: export TEST=PipeliningTest make test --- .../java/redis/clients/jedis/BinaryRedisPipeline.java | 2 +- src/main/java/redis/clients/jedis/PipelineBase.java | 4 ++-- .../java/redis/clients/jedis/tests/PipeliningTest.java | 10 +++++++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java index 73037b7..009423b 100644 --- a/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java @@ -34,7 +34,7 @@ public interface BinaryRedisPipeline { Response getSet(byte[] key, byte[] value); - Response getrange(byte[] key, long startOffset, long endOffset); + Response getrange(byte[] key, long startOffset, long endOffset); Response hdel(byte[] key, byte[]... field); diff --git a/src/main/java/redis/clients/jedis/PipelineBase.java b/src/main/java/redis/clients/jedis/PipelineBase.java index 3183ba1..0cabb86 100644 --- a/src/main/java/redis/clients/jedis/PipelineBase.java +++ b/src/main/java/redis/clients/jedis/PipelineBase.java @@ -159,9 +159,9 @@ abstract class PipelineBase extends Queable implements BinaryRedisPipeline, return getResponse(BuilderFactory.BYTE_ARRAY); } - public Response getrange(byte[] key, long startOffset, long endOffset) { + public Response getrange(byte[] key, long startOffset, long endOffset) { getClient(key).getrange(key, startOffset, endOffset); - return getResponse(BuilderFactory.LONG); + return getResponse(BuilderFactory.BYTE_ARRAY); } public Response hdel(String key, String... field) { diff --git a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java index d3cddd0..9d220e2 100755 --- a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java +++ b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java @@ -52,6 +52,9 @@ public class PipeliningTest extends Assert { jedis.hset("hash", "foo", "bar"); jedis.zadd("zset", 1, "foo"); jedis.sadd("set", "foo"); + jedis.setrange("setrange", 0, "0123456789"); + byte[] bytesForSetRange = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + jedis.setrange("setrangebytes".getBytes(), 0, bytesForSetRange); Pipeline p = jedis.pipelined(); Response string = p.get("string"); @@ -68,7 +71,9 @@ public class PipeliningTest extends Assert { p.sadd("set", "foo"); Response> smembers = p.smembers("set"); Response> zrangeWithScores = p.zrangeWithScores("zset", 0, - -1); + -1); + Response getrange = p.getrange("setrange", 1, 3); + Response getrangeBytes = p.getrange("setrangebytes".getBytes(), 6, 8); p.sync(); assertEquals("foo", string.get()); @@ -83,6 +88,9 @@ public class PipeliningTest extends Assert { assertNotNull(hgetAll.get().get("foo")); assertEquals(1, smembers.get().size()); assertEquals(1, zrangeWithScores.get().size()); + assertEquals("123", getrange.get()); + byte[] expectedGetRangeBytes = {6, 7, 8}; + assertArrayEquals(expectedGetRangeBytes, getrangeBytes.get()); } @Test From 5d3600485fbdf9029579c799c104c9604f5d76d3 Mon Sep 17 00:00:00 2001 From: UglyTroLL Date: Tue, 18 Mar 2014 19:51:51 -0700 Subject: [PATCH 2/2] Indent fix --- .../redis/clients/jedis/tests/PipeliningTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java index 9d220e2..63bbd94 100755 --- a/src/test/java/redis/clients/jedis/tests/PipeliningTest.java +++ b/src/test/java/redis/clients/jedis/tests/PipeliningTest.java @@ -52,9 +52,9 @@ public class PipeliningTest extends Assert { jedis.hset("hash", "foo", "bar"); jedis.zadd("zset", 1, "foo"); jedis.sadd("set", "foo"); - jedis.setrange("setrange", 0, "0123456789"); - byte[] bytesForSetRange = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - jedis.setrange("setrangebytes".getBytes(), 0, bytesForSetRange); + jedis.setrange("setrange", 0, "0123456789"); + byte[] bytesForSetRange = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + jedis.setrange("setrangebytes".getBytes(), 0, bytesForSetRange); Pipeline p = jedis.pipelined(); Response string = p.get("string"); @@ -72,9 +72,9 @@ public class PipeliningTest extends Assert { Response> smembers = p.smembers("set"); Response> zrangeWithScores = p.zrangeWithScores("zset", 0, -1); - Response getrange = p.getrange("setrange", 1, 3); - Response getrangeBytes = p.getrange("setrangebytes".getBytes(), 6, 8); - p.sync(); + Response getrange = p.getrange("setrange", 1, 3); + Response getrangeBytes = p.getrange("setrangebytes".getBytes(), 6, 8); + p.sync(); assertEquals("foo", string.get()); assertEquals("foo", list.get());