!86 【轻量级 PR】:优化共享存储模式下ddb错误描述

Merge pull request !86 from chennaidong/N/A
This commit is contained in:
opengauss-bot 2022-12-24 09:51:32 +00:00 committed by Gitee
commit 124292e904
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 15 additions and 6 deletions

View File

@ -123,6 +123,7 @@ status_t ParseDdbCmd(char **argv, int32 argc, int cur, DdbCommand *ddbCommand)
++cur;
hasCmd = true;
if (g_cmdOptions[i].parseCommand(argv, argc, &cur, ddbCommand) != CM_SUCCESS) {
CM_SET_DISKRW_ERROR(ERR_DDB_CMD_INVALID);
return CM_ERROR;
}
break;
@ -130,6 +131,7 @@ status_t ParseDdbCmd(char **argv, int32 argc, int cur, DdbCommand *ddbCommand)
}
if (!hasCmd) {
CM_SET_DISKRW_ERROR(ERR_DDB_CMD_UNKNOWN, argv[cur]);
return CM_ERROR;
}
return ParseDdbCmd(argv, argc, cur, ddbCommand);
@ -303,7 +305,7 @@ status_t ExecuteDdbCmd(char *cmd, char *output, int *outputLen, uint32 maxBufLen
argc++;
if (argc >= CMD_PARAMETER_CNT) {
write_runlog(ERROR, "ExecuteDdbCmd: server command:%s has %d parameters.\n", cmd, argc);
CM_SET_DISKRW_ERROR(ERR_INVALID_DDB_CMD);
CM_SET_DISKRW_ERROR(ERR_DDB_CMD_ARG_INVALID);
return CM_ERROR;
}
pLeft = strtok_r(NULL, " ", &pSave);
@ -314,13 +316,14 @@ status_t ExecuteDdbCmd(char *cmd, char *output, int *outputLen, uint32 maxBufLen
securec_check_errno(rc, (void)rc);
if (ParseDdbCmd(argv, argc, 0, &ddbCmd) != CM_SUCCESS) {
write_runlog(ERROR, "ExecuteDdbCmd: parse server command content %s failed.\n", cmd);
CM_SET_DISKRW_ERROR(ERR_INVALID_DDB_CMD);
return CM_ERROR;
}
if (ddbCmd.prefix && (ddbCmd.type != CMD_KEYWORD_GET && ddbCmd.type != CMD_KEYWORD_DELETE)) {
write_runlog(ERROR, "ExecuteDdbCmd: parse server command content %s failed.\n", cmd);
CM_SET_DISKRW_ERROR(ERR_INVALID_DDB_CMD);
write_runlog(ERROR,
"ExecuteDdbCmd: parse server command content %s failed for prefix only used with get or delete cmd.\n",
cmd);
CM_SET_DISKRW_ERROR(ERR_DDB_CMD_PREFIX_INVALID);
return CM_ERROR;
}

View File

@ -93,7 +93,10 @@ const char *g_errorDesc[ERR_MAX_COUNT] = {
[ERR_DISKRW_DISK_HEAD_FULL] = "disk head is already full when write key %s value %s",
[ERR_DISKRW_WRITE_KEY] = "write key %s to disk failed",
[ERR_DISKRW_INSERT_KEY] = "insert key %s to memory failed",
[ERR_INVALID_DDB_CMD] = "Server command content is error"
[ERR_DDB_CMD_INVALID] = "ddb command content is invalid",
[ERR_DDB_CMD_UNKNOWN] = "ddb command %s is unknown",
[ERR_DDB_CMD_PREFIX_INVALID] = "ddb command --prefix only used with --get or --delete command",
[ERR_DDB_CMD_ARG_INVALID] = "ddb command has too many args",
};
void CmStrUpper(char *str)

View File

@ -95,7 +95,10 @@ typedef enum en_cm_errno {
ERR_DISKRW_DISK_HEAD_FULL = 47,
ERR_DISKRW_WRITE_KEY = 48,
ERR_DISKRW_INSERT_KEY = 49,
ERR_INVALID_DDB_CMD = 50,
ERR_DDB_CMD_INVALID = 50,
ERR_DDB_CMD_UNKNOWN = 51,
ERR_DDB_CMD_PREFIX_INVALID = 52,
ERR_DDB_CMD_ARG_INVALID = 53,
ERR_MAX_COUNT
} cm_errno_t;