From b94b714f81f54a28996b0c3724d8346dc8c868b5 Mon Sep 17 00:00:00 2001 From: "debing.sun" Date: Wed, 14 Aug 2024 21:40:43 +0800 Subject: [PATCH] Fix error message for XREAD command with wrong parameter (#13474) Fixed a missing from #13117. When the number of streams is incorrect, the error message for `XREAD` needs to include the '+' symbol. --- src/t_stream.c | 4 ++-- tests/unit/type/stream-cgroups.tcl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/t_stream.c b/src/t_stream.c index 29ec9701f..8188bd6d7 100644 --- a/src/t_stream.c +++ b/src/t_stream.c @@ -2189,9 +2189,9 @@ void xreadCommand(client *c) { streams_arg = i+1; streams_count = (c->argc-streams_arg); if ((streams_count % 2) != 0) { - char symbol = xreadgroup ? '>' : '$'; + const char *symbol = xreadgroup ? "ID or '>'" : "ID, '+', or '$'"; addReplyErrorFormat(c,"Unbalanced '%s' list of streams: " - "for each stream key an ID or '%c' must be " + "for each stream key an %s must be " "specified.", c->cmd->fullname,symbol); return; } diff --git a/tests/unit/type/stream-cgroups.tcl b/tests/unit/type/stream-cgroups.tcl index cd91ea878..876db0717 100644 --- a/tests/unit/type/stream-cgroups.tcl +++ b/tests/unit/type/stream-cgroups.tcl @@ -319,7 +319,7 @@ start_server { r XADD mystream 666 f v r XGROUP CREATE mystream mygroup $ assert_error "ERR Unbalanced 'xreadgroup' list of streams: for each stream key an ID or '>' must be specified." {r XREADGROUP GROUP mygroup Alice COUNT 1 STREAMS mystream } - assert_error "ERR Unbalanced 'xread' list of streams: for each stream key an ID or '$' must be specified." {r XREAD COUNT 1 STREAMS mystream } + assert_error "ERR Unbalanced 'xread' list of streams: for each stream key an ID, '+', or '$' must be specified." {r XREAD COUNT 1 STREAMS mystream } } test {Blocking XREAD: key deleted} {