XTRIM: Parse args before lookupKey (#8550)

This aligns better with other commands, specifically XADD
This commit is contained in:
guybe7 2021-02-24 15:41:50 +01:00 committed by GitHub
parent c307ce826a
commit a4e3ddd33c

View File

@ -3229,17 +3229,17 @@ cleanup:
void xtrimCommand(client *c) {
robj *o;
/* Argument parsing. */
streamAddTrimArgs parsed_args;
if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0)
return; /* streamParseAddOrTrimArgsOrReply already replied. */
/* If the key does not exist, we are ok returning zero, that is, the
* number of elements removed from the stream. */
if ((o = lookupKeyWriteOrReply(c,c->argv[1],shared.czero)) == NULL
|| checkType(c,o,OBJ_STREAM)) return;
stream *s = o->ptr;
/* Argument parsing. */
streamAddTrimArgs parsed_args;
if (streamParseAddOrTrimArgsOrReply(c, &parsed_args, 1) < 0)
return; /* streamParseAddOrTrimArgsOrReply already replied. */
/* Perform the trimming. */
int64_t deleted = streamTrim(s, &parsed_args);
if (deleted) {