1
0
mirror of https://github.com/fluencelabs/redis synced 2025-03-31 23:01:03 +00:00

Fix for the variadic version of SREM. Regression test added.

This commit is contained in:
antirez 2011-05-31 20:14:29 +02:00
parent faa2a80f89
commit 3738ff5f32
2 changed files with 10 additions and 1 deletions
src
tests/unit/type

@ -249,8 +249,11 @@ void sremCommand(redisClient *c) {
for (j = 2; j < c->argc; j++) { for (j = 2; j < c->argc; j++) {
if (setTypeRemove(set,c->argv[j])) { if (setTypeRemove(set,c->argv[j])) {
if (setTypeSize(set) == 0) dbDelete(c->db,c->argv[1]);
deleted++; deleted++;
if (setTypeSize(set) == 0) {
dbDelete(c->db,c->argv[1]);
break;
}
} }
} }
if (deleted) { if (deleted) {

@ -105,6 +105,12 @@ start_server {
lsort [r smembers myset] lsort [r smembers myset]
} {a c} } {a c}
test {SREM variadic version with more args needed to destroy the key} {
r del myset
r sadd myset 1 2 3
r srem myset 1 2 3 4 5 6 7 8
} {3}
foreach {type} {hashtable intset} { foreach {type} {hashtable intset} {
for {set i 1} {$i <= 5} {incr i} { for {set i 1} {$i <= 5} {incr i} {
r del [format "set%d" $i] r del [format "set%d" $i]