Merge pull request #6597 from yossigo/rm-call-extended-errors
Improve RM_Call() errno classification.
This commit is contained in:
commit
06a24b9cfa
@ -3121,7 +3121,9 @@ fmterr:
|
|||||||
* On success a RedisModuleCallReply object is returned, otherwise
|
* On success a RedisModuleCallReply object is returned, otherwise
|
||||||
* NULL is returned and errno is set to the following values:
|
* NULL is returned and errno is set to the following values:
|
||||||
*
|
*
|
||||||
* EINVAL: command non existing, wrong arity, wrong format specifier.
|
* EBADF: wrong format specifier.
|
||||||
|
* EINVAL: wrong command arity.
|
||||||
|
* ENOENT: command does not exist.
|
||||||
* EPERM: operation in Cluster instance with key in non local slot.
|
* EPERM: operation in Cluster instance with key in non local slot.
|
||||||
*
|
*
|
||||||
* This API is documented here: https://redis.io/topics/modules-intro
|
* This API is documented here: https://redis.io/topics/modules-intro
|
||||||
@ -3153,7 +3155,7 @@ RedisModuleCallReply *RM_Call(RedisModuleCtx *ctx, const char *cmdname, const ch
|
|||||||
/* We handle the above format error only when the client is setup so that
|
/* We handle the above format error only when the client is setup so that
|
||||||
* we can free it normally. */
|
* we can free it normally. */
|
||||||
if (argv == NULL) {
|
if (argv == NULL) {
|
||||||
errno = EINVAL;
|
errno = EBADF;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3165,7 +3167,7 @@ RedisModuleCallReply *RM_Call(RedisModuleCtx *ctx, const char *cmdname, const ch
|
|||||||
*/
|
*/
|
||||||
cmd = lookupCommand(c->argv[0]->ptr);
|
cmd = lookupCommand(c->argv[0]->ptr);
|
||||||
if (!cmd) {
|
if (!cmd) {
|
||||||
errno = EINVAL;
|
errno = ENOENT;
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
c->cmd = c->lastcmd = cmd;
|
c->cmd = c->lastcmd = cmd;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user