diff options
author | antirez <antirez@gmail.com> | 2016-04-20 23:01:40 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2016-05-10 06:40:08 +0200 |
commit | 083f5277c55951853570ffe0fd7ec56e9069f610 (patch) | |
tree | 57b02a3435b7ad8f97267c4fb5281bac566b4290 /src/modules/helloworld.c | |
parent | d998170809f7474c3cb9fedc2ec266eaea39fa6c (diff) | |
download | redis-083f5277c55951853570ffe0fd7ec56e9069f610.tar.gz |
Modules: zset iterator redesign #1.
Diffstat (limited to 'src/modules/helloworld.c')
-rw-r--r-- | src/modules/helloworld.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/modules/helloworld.c b/src/modules/helloworld.c index 6ff1643cb..738983250 100644 --- a/src/modules/helloworld.c +++ b/src/modules/helloworld.c @@ -333,14 +333,13 @@ int HelloMoreExpire_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, * another time backward. The two scores, returned as a two element array, * should match.*/ int HelloZsumRange_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) { - RedisModuleZsetRange zrange = REDISMODULE_ZSET_RANGE_INIT; - zrange.type = REDISMODULE_ZSET_RANGE_SCORE; - if (RedisModule_StringToDouble(argv[2],&zrange.score_start) != REDISMODULE_OK || - RedisModule_StringToDouble(argv[3],&zrange.score_end) != REDISMODULE_OK) + double score_start, score_end; + + if (RedisModule_StringToDouble(argv[2],&score_start) != REDISMODULE_OK || + RedisModule_StringToDouble(argv[3],&score_end) != REDISMODULE_OK) { return RedisModule_ReplyWithError(ctx,"ERR invalid range"); } - zrange.flags = 0; RedisModuleKey *key = RedisModule_OpenKey(ctx,argv[1], REDISMODULE_READ|REDISMODULE_WRITE); @@ -351,7 +350,7 @@ int HelloZsumRange_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, i double scoresum_a = 0; double scoresum_b = 0; - RedisModule_ZsetFirstInRange(key,&zrange); + RedisModule_ZsetFirstInScoreRange(key,score_start,score_end,0,0); while(!RedisModule_ZsetRangeEndReached(key)) { double score; RedisModuleString *ele = RedisModule_ZsetRangeCurrentElement(key,&score); @@ -361,7 +360,7 @@ int HelloZsumRange_RedisCommand(RedisModuleCtx *ctx, RedisModuleString **argv, i } RedisModule_ZsetRangeStop(key); - RedisModule_ZsetLastInRange(key,&zrange); + RedisModule_ZsetLastInScoreRange(key,score_start,score_end,0,0); while(!RedisModule_ZsetRangeEndReached(key)) { double score; RedisModuleString *ele = RedisModule_ZsetRangeCurrentElement(key,&score); |