Merge pull request #3174 from djanowski/fix-zincrby-return-value

Fix ZINCRBY return value.
This commit is contained in:
Salvatore Sanfilippo 2016-04-18 12:27:59 +02:00
commit 4cbe044439
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}
}