summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--redis/commands/core.py7
-rw-r--r--tests/test_commands.py1
2 files changed, 8 insertions, 0 deletions
diff --git a/redis/commands/core.py b/redis/commands/core.py
index 90997ff..67f1bfa 100644
--- a/redis/commands/core.py
+++ b/redis/commands/core.py
@@ -2520,6 +2520,13 @@ class CoreCommands:
``offset`` and ``num`` are specified, then return a slice of the range.
Can't be provided when using ``bylex``.
"""
+ # Need to support ``desc`` also when using old redis version
+ # because it was supported in 3.5.3 (of redis-py)
+ if not byscore and not bylex and (offset is None and num is None) \
+ and desc:
+ return self.zrevrange(name, start, end, withscores,
+ score_cast_func)
+
return self._zrange('ZRANGE', None, name, start, end, desc, byscore,
bylex, withscores, score_cast_func, offset, num)
diff --git a/tests/test_commands.py b/tests/test_commands.py
index 4991f89..330ba28 100644
--- a/tests/test_commands.py
+++ b/tests/test_commands.py
@@ -1867,6 +1867,7 @@ class TestRedisCommands:
assert r.zrange('a', 0, 1) == [b'a1', b'a2']
assert r.zrange('a', 1, 2) == [b'a2', b'a3']
assert r.zrange('a', 0, 2) == [b'a1', b'a2', b'a3']
+ assert r.zrange('a', 0, 2, desc=True) == [b'a3', b'a2', b'a1']
# withscores
assert r.zrange('a', 0, 1, withscores=True) == \