| 3760 | } |
| 3761 | |
| 3762 | void zrankGenericCommand(client *c, int reverse) { |
| 3763 | robj *key = c->argv[1]; |
| 3764 | robj *ele = c->argv[2]; |
| 3765 | robj_roptr zobj; |
| 3766 | long rank; |
| 3767 | |
| 3768 | if ((zobj = lookupKeyReadOrReply(c,key,shared.null[c->resp])) == nullptr || |
| 3769 | checkType(c,zobj,OBJ_ZSET)) return; |
| 3770 | |
| 3771 | serverAssertWithInfo(c,ele,sdsEncodedObject(ele)); |
| 3772 | rank = zsetRank(zobj,szFromObj(ele),reverse); |
| 3773 | if (rank >= 0) { |
| 3774 | addReplyLongLong(c,rank); |
| 3775 | } else { |
| 3776 | addReplyNull(c); |
| 3777 | } |
| 3778 | } |
| 3779 | |
| 3780 | void zrankCommand(client *c) { |
| 3781 | zrankGenericCommand(c, 0); |
no test coverage detected