summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2011-04-06 15:36:10 +0200
committerantirez <antirez@gmail.com>2011-04-06 15:38:08 +0200
commit93db956e061db72749983141cc881329e87e8c1a (patch)
treefa5c8e07f6beba8945771325094ae54c92ff1538
parent27fc6199cae1933dc1e700459147d9ee85fa6956 (diff)
downloadredis-93db956e061db72749983141cc881329e87e8c1a.tar.gz
make sure that OBJECT ENCODING returns skiplist for sorted sets, and not raw, so that once we will merge specially encoded sorted sets everything will make sense.
-rw-r--r--src/object.c6
-rw-r--r--src/redis.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/src/object.c b/src/object.c
index 2db95be5f..d8ef59bc5 100644
--- a/src/object.c
+++ b/src/object.c
@@ -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) {
@@ -425,6 +428,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";
}
}
diff --git a/src/redis.h b/src/redis.h
index 2b22e6b50..7c1471794 100644
--- a/src/redis.h
+++ b/src/redis.h
@@ -81,6 +81,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