fix ZRANGESTORE - should return 0 when src points to an empty key (#9089)
mistakenly it used to return an empty array rather than 0. Co-authored-by: Oran Agra <oran@redislabs.com> (cherry picked from commit 95274f1f8a3ef4cb4033beecfaa99ea1439ed170)
This commit is contained in:
parent
3b32512dc9
commit
adc4748248
@ -3663,7 +3663,12 @@ void zrangeGenericCommand(zrange_result_handler *handler, int argc_start, int st
|
||||
lookupKeyWrite(c->db,key) :
|
||||
lookupKeyRead(c->db,key);
|
||||
if (zobj == NULL) {
|
||||
addReply(c,shared.emptyarray);
|
||||
if (store) {
|
||||
handler->beginResultEmission(handler);
|
||||
handler->finalizeResultEmission(handler, 0);
|
||||
} else {
|
||||
addReply(c, shared.emptyarray);
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
@ -1568,6 +1568,19 @@ start_server {tags {"zset"}} {
|
||||
r zrange z1 5 0 BYSCORE REV LIMIT 0 2 WITHSCORES
|
||||
} {d 4 c 3}
|
||||
|
||||
test {ZRANGESTORE - src key missing} {
|
||||
set res [r zrangestore z2{t} missing{t} 0 -1]
|
||||
assert_equal $res 0
|
||||
r exists z2{t}
|
||||
} {0}
|
||||
|
||||
test {ZRANGESTORE - src key wrong type} {
|
||||
r zadd z2{t} 1 a
|
||||
r set foo{t} bar
|
||||
assert_error "*WRONGTYPE*" {r zrangestore z2{t} foo{t} 0 -1}
|
||||
r zrange z2{t} 0 -1
|
||||
} {a}
|
||||
|
||||
test {ZRANGESTORE - empty range} {
|
||||
set res [r zrangestore z2 z1 5 6]
|
||||
assert_equal $res 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user