@@ -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