X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/7d8c555e92954b02d40c15702476fd48e55c4f94..0717e3aa16fc81ff0e5a9dfacc93655edbdaec6f:/src/sort.c diff --git a/src/sort.c b/src/sort.c index 1a3fecb6..e4fe130c 100644 --- a/src/sort.c +++ b/src/sort.c @@ -200,7 +200,7 @@ void sortCommand(redisClient *c) { } /* Destructively convert encoded sorted sets for SORT. */ - if (sortval->type == REDIS_ZSET) zsetConvert(sortval, REDIS_ENCODING_RAW); + if (sortval->type == REDIS_ZSET) zsetConvert(sortval, REDIS_ENCODING_SKIPLIST); /* Load the sorting vector with all the objects to sort */ switch(sortval->type) { @@ -366,12 +366,12 @@ void sortCommand(redisClient *c) { } } } - dbReplace(c->db,storekey,sobj); + setKey(c->db,storekey,sobj); + decrRefCount(sobj); /* Note: we add 1 because the DB is dirty anyway since even if the * SORT result is empty a new key is set and maybe the old content * replaced. */ server.dirty += 1+outputlen; - signalModifiedKey(c->db,storekey); addReplyLongLong(c,outputlen); }