summaryrefslogtreecommitdiff
path: root/src/modules/helloworld.c
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2016-04-20 23:01:40 +0200
committerantirez <antirez@gmail.com>2016-05-10 06:40:08 +0200
commit083f5277c55951853570ffe0fd7ec56e9069f610 (patch)
tree57b02a3435b7ad8f97267c4fb5281bac566b4290 /src/modules/helloworld.c
parentd998170809f7474c3cb9fedc2ec266eaea39fa6c (diff)
downloadredis-083f5277c55951853570ffe0fd7ec56e9069f610.tar.gz
Modules: zset iterator redesign #1.
Diffstat (limited to 'src/modules/helloworld.c')
-rw-r--r--src/modules/helloworld.c13
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);