for (j = 2; j < c->argc; j++) {
if (hashTypeDelete(o,c->argv[j])) {
- if (hashTypeLength(o) == 0) dbDelete(c->db,c->argv[1]);
deleted++;
+ if (hashTypeLength(o) == 0) {
+ dbDelete(c->db,c->argv[1]);
+ break;
+ }
}
}
if (deleted) {
r hgetall myhash
} {b 2}
+ test {HDEL - hash becomes empty before deleting all specified fields} {
+ r del myhash
+ r hmset myhash a 1 b 2 c 3
+ assert_equal 3 [r hdel myhash a b c d e]
+ assert_equal 0 [r exists myhash]
+ }
+
test {HEXISTS} {
set rv {}
set k [lindex [array names smallhash *] 0]