mirror of
https://github.com/fluencelabs/redis
synced 2025-06-28 00:11:33 +00:00
Move logic concerned with zset ranges
This also optimizes ZREVRANGEBYSCORE for pathological cases where a sorted set contains many elements with the same score. Previously, it would traverse the list from back to front in such a case.
This commit is contained in:
@ -227,6 +227,22 @@ start_server {tags {"zset"}} {
|
||||
assert_equal {f e} [r zrevrangebyscore zset (6 (3]
|
||||
assert_equal {f} [r zrevrangebyscore zset (+inf (4]
|
||||
assert_equal 2 [r zcount zset (0 (3]
|
||||
|
||||
# test empty ranges
|
||||
r zrem zset a
|
||||
r zrem zset g
|
||||
|
||||
# inclusive
|
||||
assert_equal {} [r zrangebyscore zset 6 +inf]
|
||||
assert_equal {} [r zrangebyscore zset -inf -6]
|
||||
assert_equal {} [r zrevrangebyscore zset +inf 6]
|
||||
assert_equal {} [r zrevrangebyscore zset -6 -inf]
|
||||
|
||||
# exclusive
|
||||
assert_equal {} [r zrangebyscore zset (6 (+inf]
|
||||
assert_equal {} [r zrangebyscore zset (-inf (-6]
|
||||
assert_equal {} [r zrevrangebyscore zset (+inf (6]
|
||||
assert_equal {} [r zrevrangebyscore zset (-6 (-inf]
|
||||
}
|
||||
|
||||
test "ZRANGEBYSCORE with WITHSCORES" {
|
||||
|
Reference in New Issue
Block a user