summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorItamar Haber <itamar@redislabs.com>2017-12-03 19:34:31 +0200
committerItamar Haber <itamar@redislabs.com>2017-12-03 19:34:31 +0200
commit51eb6cb39513188001bd24e693868451ae267340 (patch)
treec4b3ea8c553bd0f7e4381a339cb5e159f9a633c7
parentbd5af03dbd11ae4865d95c7643803ce804faf2d7 (diff)
downloadredis-51eb6cb39513188001bd24e693868451ae267340.tar.gz
Adds help to `CONFIG`
-rw-r--r--src/config.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/config.c b/src/config.c
index 06d869be1..4089ef063 100644
--- a/src/config.c
+++ b/src/config.c
@@ -2065,19 +2065,24 @@ void configCommand(client *c) {
return;
}
- if (!strcasecmp(c->argv[1]->ptr,"set")) {
- if (c->argc != 4) goto badarity;
+ if (c->argc == 2 && !strcasecmp(c->argv[1]->ptr,"help")) {
+ const char *help[] = {
+ "get <pattern> -- Return parameters matching the glob-like <pattern> and their values.",
+ "set <parameter> <value> -- Set parameter to value.",
+ "resetstat -- Reset statistics reported by INFO.",
+ "rewrite -- Rewrite the configuration file.",
+ NULL
+ };
+ addReplyHelp(c, help);
+ } else if (!strcasecmp(c->argv[1]->ptr,"set") && c->argc == 4) {
configSetCommand(c);
- } else if (!strcasecmp(c->argv[1]->ptr,"get")) {
- if (c->argc != 3) goto badarity;
+ } else if (!strcasecmp(c->argv[1]->ptr,"get") && c->argc == 3) {
configGetCommand(c);
- } else if (!strcasecmp(c->argv[1]->ptr,"resetstat")) {
- if (c->argc != 2) goto badarity;
+ } else if (!strcasecmp(c->argv[1]->ptr,"resetstat") && c->argc == 2) {
resetServerStats();
resetCommandTableStats();
addReply(c,shared.ok);
- } else if (!strcasecmp(c->argv[1]->ptr,"rewrite")) {
- if (c->argc != 2) goto badarity;
+ } else if (!strcasecmp(c->argv[1]->ptr,"rewrite") && c->argc == 2) {
if (server.configfile == NULL) {
addReplyError(c,"The server is running without a config file");
return;
@@ -2090,12 +2095,8 @@ void configCommand(client *c) {
addReply(c,shared.ok);
}
} else {
- addReplyError(c,
- "CONFIG subcommand must be one of GET, SET, RESETSTAT, REWRITE");
+ addReplyErrorFormat(c, "Unknown subcommand or wrong number of arguments for '%s'. Try SLOWLOG help",
+ (char*)c->argv[1]->ptr);
+ return;
}
- return;
-
-badarity:
- addReplyErrorFormat(c,"Wrong number of arguments for CONFIG %s",
- (char*) c->argv[1]->ptr);
}