From 9e7cee0ed01246e898eac500330c6a16e9dbfddb Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Tue, 8 Mar 2011 16:08:52 +0100 Subject: [PATCH] Add function to create ziplist-backed sorted set --- src/object.c | 8 +++++++- src/redis.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/object.c b/src/object.c index e6b02da8..a6bf8a20 100644 --- a/src/object.c +++ b/src/object.c @@ -93,12 +93,18 @@ robj *createHashObject(void) { robj *createZsetObject(void) { zset *zs = zmalloc(sizeof(*zs)); - zs->dict = dictCreate(&zsetDictType,NULL); zs->zsl = zslCreate(); return createObject(REDIS_ZSET,zs); } +robj *createZsetZiplistObject(void) { + unsigned char *zl = ziplistNew(); + robj *o = createObject(REDIS_ZSET,zl); + o->encoding = REDIS_ENCODING_ZIPLIST; + return o; +} + void freeStringObject(robj *o) { if (o->encoding == REDIS_ENCODING_RAW) { sdsfree(o->ptr); diff --git a/src/redis.h b/src/redis.h index 19403218..78294d0d 100644 --- a/src/redis.h +++ b/src/redis.h @@ -730,6 +730,7 @@ robj *createSetObject(void); robj *createIntsetObject(void); robj *createHashObject(void); robj *createZsetObject(void); +robj *createZsetZiplistObject(void); int getLongFromObjectOrReply(redisClient *c, robj *o, long *target, const char *msg); int checkType(redisClient *c, robj *o, int type); int getLongLongFromObjectOrReply(redisClient *c, robj *o, long long *target, const char *msg); -- 2.47.2