]> git.saurik.com Git - redis.git/commitdiff
make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so...
authorantirez <antirez@gmail.com>
Wed, 6 Apr 2011 13:36:10 +0000 (15:36 +0200)
committerantirez <antirez@gmail.com>
Wed, 6 Apr 2011 13:36:10 +0000 (15:36 +0200)
src/object.c
src/redis.h

index 4de9dbaae195267cbb0e9c2b717f7f53166fcc66..6a9b0214db024645bfbd0351a6538af41b10d281 100644 (file)
@@ -93,10 +93,13 @@ robj *createHashObject(void) {
 
 robj *createZsetObject(void) {
     zset *zs = zmalloc(sizeof(*zs));
+    robj *o;
 
     zs->dict = dictCreate(&zsetDictType,NULL);
     zs->zsl = zslCreate();
-    return createObject(REDIS_ZSET,zs);
+    o = createObject(REDIS_ZSET,zs);
+    o->encoding = REDIS_ENCODING_SKIPLIST;
+    return o;
 }
 
 void freeStringObject(robj *o) {
@@ -402,6 +405,7 @@ char *strEncoding(int encoding) {
     case REDIS_ENCODING_LINKEDLIST: return "linkedlist";
     case REDIS_ENCODING_ZIPLIST: return "ziplist";
     case REDIS_ENCODING_INTSET: return "intset";
+    case REDIS_ENCODING_SKIPLIST: return "skiplist";
     default: return "unknown";
     }
 }
index 3ceffd422b151720837f7e23a7aa12bf9e159172..26f334512bb7a4f748dcc3703847e7fb6a68d397 100644 (file)
@@ -86,6 +86,7 @@
 #define REDIS_ENCODING_LINKEDLIST 4 /* Encoded as regular linked list */
 #define REDIS_ENCODING_ZIPLIST 5 /* Encoded as ziplist */
 #define REDIS_ENCODING_INTSET 6  /* Encoded as intset */
+#define REDIS_ENCODING_SKIPLIST 7  /* Encoded as skiplist */
 
 /* Object types only used for dumping to disk */
 #define REDIS_EXPIRETIME 253