Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added.

This commit is contained in:
antirez 2011-05-19 17:58:29 +02:00
parent 330c90b018
commit 521ddcce14
2 changed files with 9 additions and 1 deletions

View File

@ -1550,7 +1550,7 @@ void zunionInterGenericCommand(redisClient *c, robj *dstkey, int op) {
}
} else if (op == REDIS_OP_UNION) {
for (i = 0; i < setnum; i++) {
if (zuiLength(&src[0]) == 0)
if (zuiLength(&src[i]) == 0)
continue;
while (zuiNext(&src[i],&zval)) {

View File

@ -353,6 +353,14 @@ start_server {tags {"zset"}} {
assert_equal 0 [r exists dst_key]
}
test "ZUNIONSTORE with empty set - $encoding" {
r del zseta zsetb
r zadd zseta 1 a
r zadd zseta 2 b
r zunionstore zsetc 2 zseta zsetb
r zrange zsetc 0 -1 withscores
} {a 1 b 2}
test "ZUNIONSTORE basics - $encoding" {
r del zseta zsetb zsetc
r zadd zseta 1 a