Fix ZINCRBY return value.

This commit is contained in:
Damian Janowski 2016-04-18 00:35:54 -03:00
parent dda0f37f11
commit 0b4bb502a2
2 changed files with 8 additions and 0 deletions

View File

@ -1308,6 +1308,7 @@ int zsetAdd(robj *zobj, double score, sds ele, int *flags, double *newscore) {
zsetConvert(zobj,OBJ_ENCODING_SKIPLIST);
if (sdslen(ele) > server.zset_max_ziplist_value)
zsetConvert(zobj,OBJ_ENCODING_SKIPLIST);
if (newscore) *newscore = score;
*flags |= ZADD_ADDED;
return 1;
} else {
@ -1359,6 +1360,7 @@ int zsetAdd(robj *zobj, double score, sds ele, int *flags, double *newscore) {
znode = zslInsert(zs->zsl,score,ele);
serverAssert(dictAdd(zs->dict,ele,&znode->score) == DICT_OK);
*flags |= ZADD_ADDED;
if (newscore) *newscore = score;
return 1;
} else {
*flags |= ZADD_NOP;

View File

@ -290,6 +290,12 @@ start_server {tags {"zset"}} {
assert_equal 6 [r zscore zset bar]
}
test "ZINCRBY return value" {
r del ztmp
set retval [r zincrby ztmp 1.0 x]
assert {$retval == 1.0}
}
proc create_default_zset {} {
create_zset zset {-inf a 1 b 2 c 3 d 4 e 5 f +inf g}
}