Commit 2e18193f authored by Pieter Noordhuis's avatar Pieter Noordhuis
Browse files

Remove sorted set when empty after ZREMRANGEBY*

parent 7f9c9734
...@@ -1012,6 +1012,7 @@ void zremrangebyscoreCommand(redisClient *c) { ...@@ -1012,6 +1012,7 @@ void zremrangebyscoreCommand(redisClient *c) {
if (zobj->encoding == REDIS_ENCODING_ZIPLIST) { if (zobj->encoding == REDIS_ENCODING_ZIPLIST) {
zobj->ptr = zzlDeleteRangeByScore(zobj->ptr,range,&deleted); zobj->ptr = zzlDeleteRangeByScore(zobj->ptr,range,&deleted);
if (zzlLength(zobj->ptr) == 0) dbDelete(c->db,key);
} else if (zobj->encoding == REDIS_ENCODING_RAW) { } else if (zobj->encoding == REDIS_ENCODING_RAW) {
zset *zs = zobj->ptr; zset *zs = zobj->ptr;
deleted = zslDeleteRangeByScore(zs->zsl,range,zs->dict); deleted = zslDeleteRangeByScore(zs->zsl,range,zs->dict);
...@@ -1057,6 +1058,7 @@ void zremrangebyrankCommand(redisClient *c) { ...@@ -1057,6 +1058,7 @@ void zremrangebyrankCommand(redisClient *c) {
if (zobj->encoding == REDIS_ENCODING_ZIPLIST) { if (zobj->encoding == REDIS_ENCODING_ZIPLIST) {
/* Correct for 1-based rank. */ /* Correct for 1-based rank. */
zobj->ptr = zzlDeleteRangeByRank(zobj->ptr,start+1,end+1,&deleted); zobj->ptr = zzlDeleteRangeByRank(zobj->ptr,start+1,end+1,&deleted);
if (zzlLength(zobj->ptr) == 0) dbDelete(c->db,key);
} else if (zobj->encoding == REDIS_ENCODING_RAW) { } else if (zobj->encoding == REDIS_ENCODING_RAW) {
zset *zs = zobj->ptr; zset *zs = zobj->ptr;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment