Skip to content

Commit 53fb2c0

Browse files
committed
add ZPOPMAX and more 6 commands
Signed-off-by: hwware <[email protected]>
1 parent 1c20643 commit 53fb2c0

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/t_zset.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3830,6 +3830,9 @@ void genericZpopCommand(client *c,
38303830
robj *zobj = NULL;
38313831
sds ele;
38323832
double score;
3833+
long previous_element_number;
3834+
long current_element_number;
3835+
long need_to_delete;
38333836

38343837
if (deleted) *deleted = 0;
38353838

@@ -3865,7 +3868,9 @@ void genericZpopCommand(client *c,
38653868
if (count == -1) count = 1;
38663869

38673870
long llen = zsetLength(zobj);
3871+
previous_element_number = llen;
38683872
long rangelen = (count > llen) ? llen : count;
3873+
need_to_delete = rangelen;
38693874

38703875
if (!use_nested_array && !emitkey) {
38713876
/* ZPOPMIN/ZPOPMAX with or without COUNT option in RESP2. */
@@ -3947,6 +3952,9 @@ void genericZpopCommand(client *c,
39473952
notifyKeyspaceEvent(NOTIFY_GENERIC, "del", key, c->db->id);
39483953
}
39493954
signalModifiedKey(c, c->db, key);
3955+
current_element_number = previous_element_number - need_to_delete;
3956+
/* TO DO: update INFO KEYSIZES */
3957+
displayUpdate(previous_element_number, current_element_number);
39503958

39513959
if (c->cmd->proc == zmpopCommand) {
39523960
/* Always replicate it as ZPOP[MIN|MAX] with COUNT option instead of ZMPOP. */

0 commit comments

Comments
 (0)