Fix for #1564: Return empty array instead of single element nil array in value array processor #1993
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changes the return of a nil result through the
RedisValueArrayProcessor
so that it's a[]
instead of a single element[ nil ]
in our handling.This affects the following commands, which are multibulk when a count is provided (even if it's 1), otherwise they are bulkstring. This change affects the non-count case when it's null. Instead of a single element array with a nil value, we'd return an empty array as the Redis surface area intends:
LPOP
/RPOP
SRANDMEMBER
SPOP
The other usages of
RedisValueArrayProcessor
are always multibulk and are not affected:HMGET
HKEYS
HVALS
LRANGE
MGET
SDIFF
SINTER
SUNION
SMEMBERS
SORT
XCLAIM
Z(REV)RANGE
Z(REV)RANGEBYLEX
Z(REV)RANGEBYSCORE