]> git.saurik.com Git - redis.git/commitdiff
ZRANGEBYSCORE memory leak fixed, ZRANGEBYSCORE initial test added
authorantirez <antirez@gmail.com>
Sat, 28 Nov 2009 17:03:09 +0000 (18:03 +0100)
committerantirez <antirez@gmail.com>
Sat, 28 Nov 2009 17:03:09 +0000 (18:03 +0100)
redis.c
test-redis.tcl

diff --git a/redis.c b/redis.c
index 6cf8f46539cc486a569e8f14b6a3419a6c03d690..98434620fae24652f08a07aa283c55467f30350d 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -4587,6 +4587,7 @@ static void zrangebyscoreCommand(redisClient *c) {
              * it later */
             lenobj = createObject(REDIS_STRING,NULL);
             addReply(c,lenobj);
              * it later */
             lenobj = createObject(REDIS_STRING,NULL);
             addReply(c,lenobj);
+            decrRefCount(lenobj);
 
             while(ln && ln->score <= max) {
                 ele = ln->obj;
 
             while(ln && ln->score <= max) {
                 ele = ln->obj;
index 354016e03bbc2f1875e2a8ef57b914f559ec996e..22e88040da1bf6a7d33517086b1606e4c9b32763 100644 (file)
@@ -1014,6 +1014,27 @@ proc main {server port} {
         list $v1 $v2 [$r zscore zset foo] [$r zscore zset bar]
     } {{bar foo} {foo bar} -2 6}
 
         list $v1 $v2 [$r zscore zset foo] [$r zscore zset bar]
     } {{bar foo} {foo bar} -2 6}
 
+    test {ZRANGEBYSCORE basics} {
+        $r del zset
+        $r zadd zset 1 a
+        $r zadd zset 2 b
+        $r zadd zset 3 c
+        $r zadd zset 4 d
+        $r zadd zset 5 e
+        $r zrangebyscore zset 2 4
+    } {b c d}
+
+    test {Sorted sets +inf and -inf handling} {
+        $r del zset
+        $r zadd zset -100 a
+        $r zadd zset 200 b
+        $r zadd zset -300 c
+        $r zadd zset 1000000 d
+        $r zadd zset +inf max
+        $r zadd zset -inf min
+        $r zrange zset 0 -1
+    } {min c a b d max}
+
     test {EXPIRE - don't set timeouts multiple times} {
         $r set x foobar
         set v1 [$r expire x 5]
     test {EXPIRE - don't set timeouts multiple times} {
         $r set x foobar
         set v1 [$r expire x 5]