Merge pull request #14593 from taosdata/fix/ZhiqiangWang/TD-13064-fix-mac-shell-error
os: fix Mac shell error
This commit is contained in:
commit
25c52f20b4
|
@ -376,8 +376,6 @@ int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag** ppTag, voi
|
||||||
|
|
||||||
char* jsonKey = item->string;
|
char* jsonKey = item->string;
|
||||||
if (!isValidateTag(jsonKey)) {
|
if (!isValidateTag(jsonKey)) {
|
||||||
fprintf(stdout, "%s(%d) %s %08" PRId64 "\n", __FILE__, __LINE__, __func__, taosGetSelfPthreadId());
|
|
||||||
fflush(stdout);
|
|
||||||
retCode = buildSyntaxErrMsg(pMsgBuf, "json key not validate", jsonKey);
|
retCode = buildSyntaxErrMsg(pMsgBuf, "json key not validate", jsonKey);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
|
@ -260,6 +260,14 @@ char *taosDirName(char *name) {
|
||||||
name[0] = 0;
|
name[0] = 0;
|
||||||
}
|
}
|
||||||
return name;
|
return name;
|
||||||
|
#elif defined(_TD_DARWIN_64)
|
||||||
|
char *end = strrchr(name, '/');
|
||||||
|
if (end != NULL) {
|
||||||
|
*end = '\0';
|
||||||
|
} else {
|
||||||
|
name[0] = 0;
|
||||||
|
}
|
||||||
|
return name;
|
||||||
#else
|
#else
|
||||||
return dirname(name);
|
return dirname(name);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -947,9 +947,9 @@ int32_t taosGetFqdn(char *fqdn) {
|
||||||
hostname[1023] = '\0';
|
hostname[1023] = '\0';
|
||||||
if (gethostname(hostname, 1023) == -1) {
|
if (gethostname(hostname, 1023) == -1) {
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
printf("failed to get hostname, reason:%s", strerror(WSAGetLastError()));
|
printf("failed to get hostname, reason:%s\n", strerror(WSAGetLastError()));
|
||||||
#else
|
#else
|
||||||
printf("failed to get hostname, reason:%s", strerror(errno));
|
printf("failed to get hostname, reason:%s\n", strerror(errno));
|
||||||
#endif
|
#endif
|
||||||
assert(0);
|
assert(0);
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -968,7 +968,7 @@ int32_t taosGetFqdn(char *fqdn) {
|
||||||
#endif // __APPLE__
|
#endif // __APPLE__
|
||||||
int32_t ret = getaddrinfo(hostname, NULL, &hints, &result);
|
int32_t ret = getaddrinfo(hostname, NULL, &hints, &result);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
fprintf(stderr, "failed to get fqdn, code:%d, reason:%s", ret, gai_strerror(ret));
|
fprintf(stderr, "failed to get fqdn, code:%d, reason:%s\n", ret, gai_strerror(ret));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -759,9 +759,11 @@ int32_t taosGetSystemUUID(char *uid, int32_t uidlen) {
|
||||||
return 0;
|
return 0;
|
||||||
#elif defined(_TD_DARWIN_64)
|
#elif defined(_TD_DARWIN_64)
|
||||||
uuid_t uuid = {0};
|
uuid_t uuid = {0};
|
||||||
|
char buf[37] = {0};
|
||||||
uuid_generate(uuid);
|
uuid_generate(uuid);
|
||||||
// it's caller's responsibility to make enough space for `uid`, that's 36-char + 1-null
|
// it's caller's responsibility to make enough space for `uid`, that's 36-char + 1-null
|
||||||
uuid_unparse_lower(uuid, uid);
|
uuid_unparse_lower(uuid, buf);
|
||||||
|
memcpy(uid, buf, uidlen);
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
|
|
@ -44,27 +44,27 @@ static int32_t shellParseSingleOpt(int32_t key, char *arg);
|
||||||
|
|
||||||
void shellPrintHelp() {
|
void shellPrintHelp() {
|
||||||
char indent[] = " ";
|
char indent[] = " ";
|
||||||
printf("Usage: taos [OPTION...] \n\n");
|
printf("Usage: taos [OPTION...] \r\n\r\n");
|
||||||
printf("%s%s%s%s\n", indent, "-a,", indent, SHELL_AUTH);
|
printf("%s%s%s%s\r\n", indent, "-a,", indent, SHELL_AUTH);
|
||||||
printf("%s%s%s%s\n", indent, "-A,", indent, SHELL_GEN_AUTH);
|
printf("%s%s%s%s\r\n", indent, "-A,", indent, SHELL_GEN_AUTH);
|
||||||
printf("%s%s%s%s\n", indent, "-c,", indent, SHELL_CFG_DIR);
|
printf("%s%s%s%s\r\n", indent, "-c,", indent, SHELL_CFG_DIR);
|
||||||
printf("%s%s%s%s\n", indent, "-C,", indent, SHELL_DMP_CFG);
|
printf("%s%s%s%s\r\n", indent, "-C,", indent, SHELL_DMP_CFG);
|
||||||
printf("%s%s%s%s\n", indent, "-d,", indent, SHELL_DB);
|
printf("%s%s%s%s\r\n", indent, "-d,", indent, SHELL_DB);
|
||||||
printf("%s%s%s%s\n", indent, "-f,", indent, SHELL_FILE);
|
printf("%s%s%s%s\r\n", indent, "-f,", indent, SHELL_FILE);
|
||||||
printf("%s%s%s%s\n", indent, "-h,", indent, SHELL_HOST);
|
printf("%s%s%s%s\r\n", indent, "-h,", indent, SHELL_HOST);
|
||||||
printf("%s%s%s%s\n", indent, "-k,", indent, SHELL_CHECK);
|
printf("%s%s%s%s\r\n", indent, "-k,", indent, SHELL_CHECK);
|
||||||
printf("%s%s%s%s\n", indent, "-l,", indent, SHELL_PKG_LEN);
|
printf("%s%s%s%s\r\n", indent, "-l,", indent, SHELL_PKG_LEN);
|
||||||
printf("%s%s%s%s\n", indent, "-n,", indent, SHELL_NET_ROLE);
|
printf("%s%s%s%s\r\n", indent, "-n,", indent, SHELL_NET_ROLE);
|
||||||
printf("%s%s%s%s\n", indent, "-N,", indent, SHELL_PKT_NUM);
|
printf("%s%s%s%s\r\n", indent, "-N,", indent, SHELL_PKT_NUM);
|
||||||
printf("%s%s%s%s\n", indent, "-p,", indent, SHELL_PASSWORD);
|
printf("%s%s%s%s\r\n", indent, "-p,", indent, SHELL_PASSWORD);
|
||||||
printf("%s%s%s%s\n", indent, "-P,", indent, SHELL_PORT);
|
printf("%s%s%s%s\r\n", indent, "-P,", indent, SHELL_PORT);
|
||||||
printf("%s%s%s%s\n", indent, "-r,", indent, SHELL_RAW_TIME);
|
printf("%s%s%s%s\r\n", indent, "-r,", indent, SHELL_RAW_TIME);
|
||||||
printf("%s%s%s%s\n", indent, "-s,", indent, SHELL_CMD);
|
printf("%s%s%s%s\r\n", indent, "-s,", indent, SHELL_CMD);
|
||||||
printf("%s%s%s%s\n", indent, "-t,", indent, SHELL_STARTUP);
|
printf("%s%s%s%s\r\n", indent, "-t,", indent, SHELL_STARTUP);
|
||||||
printf("%s%s%s%s\n", indent, "-u,", indent, SHELL_USER);
|
printf("%s%s%s%s\r\n", indent, "-u,", indent, SHELL_USER);
|
||||||
printf("%s%s%s%s\n", indent, "-w,", indent, SHELL_WIDTH);
|
printf("%s%s%s%s\r\n", indent, "-w,", indent, SHELL_WIDTH);
|
||||||
printf("%s%s%s%s\n", indent, "-V,", indent, SHELL_VERSION);
|
printf("%s%s%s%s\r\n", indent, "-V,", indent, SHELL_VERSION);
|
||||||
printf("\n\nReport bugs to %s.\n", SHELL_EMAIL);
|
printf("\r\n\r\nReport bugs to %s.\r\n", SHELL_EMAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
|
@ -196,23 +196,23 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
|
||||||
char *key = argv[i];
|
char *key = argv[i];
|
||||||
int32_t keyLen = strlen(key);
|
int32_t keyLen = strlen(key);
|
||||||
if (keyLen != 2) {
|
if (keyLen != 2) {
|
||||||
fprintf(stderr, "invalid option %s\n", key);
|
fprintf(stderr, "invalid option %s\r\n", key);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (key[0] != '-') {
|
if (key[0] != '-') {
|
||||||
fprintf(stderr, "invalid option %s\n", key);
|
fprintf(stderr, "invalid option %s\r\n", key);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key[1] == 'h' || key[1] == 'P' || key[1] == 'u' || key[1] == 'a' || key[1] == 'c' || key[1] == 's' ||
|
if (key[1] == 'h' || key[1] == 'P' || key[1] == 'u' || key[1] == 'a' || key[1] == 'c' || key[1] == 's' ||
|
||||||
key[1] == 'f' || key[1] == 'd' || key[1] == 'w' || key[1] == 'n' || key[1] == 'l' || key[1] == 'N') {
|
key[1] == 'f' || key[1] == 'd' || key[1] == 'w' || key[1] == 'n' || key[1] == 'l' || key[1] == 'N') {
|
||||||
if (i + 1 >= argc) {
|
if (i + 1 >= argc) {
|
||||||
fprintf(stderr, "option %s requires an argument\n", key);
|
fprintf(stderr, "option %s requires an argument\r\n", key);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
char *val = argv[i + 1];
|
char *val = argv[i + 1];
|
||||||
if (val[0] == '-') {
|
if (val[0] == '-') {
|
||||||
fprintf(stderr, "option %s requires an argument\n", key);
|
fprintf(stderr, "option %s requires an argument\r\n", key);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
shellParseSingleOpt(key[1], val);
|
shellParseSingleOpt(key[1], val);
|
||||||
|
@ -221,7 +221,7 @@ int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) {
|
||||||
key[1] == 't' || key[1] == 'V' || key[1] == '?' || key[1] == 1) {
|
key[1] == 't' || key[1] == 'V' || key[1] == '?' || key[1] == 1) {
|
||||||
shellParseSingleOpt(key[1], NULL);
|
shellParseSingleOpt(key[1], NULL);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stderr, "invalid option %s\n", key);
|
fprintf(stderr, "invalid option %s\r\n", key);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -241,7 +241,7 @@ static void shellInitArgs(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
taosSetConsoleEcho(true);
|
taosSetConsoleEcho(true);
|
||||||
if (EOF == getchar()) {
|
if (EOF == getchar()) {
|
||||||
fprintf(stderr, "getchar() return EOF\n");
|
fprintf(stderr, "getchar() return EOF\r\n");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tstrncpy(shell.args.password, (char *)(argv[i] + 2), sizeof(shell.args.password));
|
tstrncpy(shell.args.password, (char *)(argv[i] + 2), sizeof(shell.args.password));
|
||||||
|
@ -263,22 +263,22 @@ static void shellInitArgs(int argc, char *argv[]) {
|
||||||
static int32_t shellCheckArgs() {
|
static int32_t shellCheckArgs() {
|
||||||
SShellArgs *pArgs = &shell.args;
|
SShellArgs *pArgs = &shell.args;
|
||||||
if (pArgs->host != NULL && (strlen(pArgs->host) <= 0 || strlen(pArgs->host) > TSDB_FQDN_LEN)) {
|
if (pArgs->host != NULL && (strlen(pArgs->host) <= 0 || strlen(pArgs->host) > TSDB_FQDN_LEN)) {
|
||||||
printf("Invalid host:%s\n", pArgs->host);
|
printf("Invalid host:%s\r\n", pArgs->host);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->user != NULL && (strlen(pArgs->user) <= 0 || strlen(pArgs->user) > TSDB_USER_LEN)) {
|
if (pArgs->user != NULL && (strlen(pArgs->user) <= 0 || strlen(pArgs->user) > TSDB_USER_LEN)) {
|
||||||
printf("Invalid user:%s\n", pArgs->user);
|
printf("Invalid user:%s\r\n", pArgs->user);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->auth != NULL && (strlen(pArgs->auth) <= 0 || strlen(pArgs->auth) > TSDB_PASSWORD_LEN)) {
|
if (pArgs->auth != NULL && (strlen(pArgs->auth) <= 0 || strlen(pArgs->auth) > TSDB_PASSWORD_LEN)) {
|
||||||
printf("Invalid auth:%s\n", pArgs->auth);
|
printf("Invalid auth:%s\r\n", pArgs->auth);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->database != NULL && (strlen(pArgs->database) <= 0 || strlen(pArgs->database) > TSDB_DB_NAME_LEN)) {
|
if (pArgs->database != NULL && (strlen(pArgs->database) <= 0 || strlen(pArgs->database) > TSDB_DB_NAME_LEN)) {
|
||||||
printf("Invalid database:%s\n", pArgs->database);
|
printf("Invalid database:%s\r\n", pArgs->database);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ static int32_t shellCheckArgs() {
|
||||||
|
|
||||||
if (pArgs->cfgdir != NULL) {
|
if (pArgs->cfgdir != NULL) {
|
||||||
if (strlen(pArgs->cfgdir) <= 0 || strlen(pArgs->cfgdir) >= PATH_MAX) {
|
if (strlen(pArgs->cfgdir) <= 0 || strlen(pArgs->cfgdir) >= PATH_MAX) {
|
||||||
printf("Invalid cfgdir:%s\n", pArgs->cfgdir);
|
printf("Invalid cfgdir:%s\r\n", pArgs->cfgdir);
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
if (taosExpandDir(pArgs->cfgdir, configDir, PATH_MAX) != 0) {
|
if (taosExpandDir(pArgs->cfgdir, configDir, PATH_MAX) != 0) {
|
||||||
|
@ -301,37 +301,37 @@ static int32_t shellCheckArgs() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->commands != NULL && (strlen(pArgs->commands) <= 0)) {
|
if (pArgs->commands != NULL && (strlen(pArgs->commands) <= 0)) {
|
||||||
printf("Invalid commands:%s\n", pArgs->commands);
|
printf("Invalid commands:%s\r\n", pArgs->commands);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->netrole != NULL && !(strcmp(pArgs->netrole, "client") == 0 || strcmp(pArgs->netrole, "server") == 0)) {
|
if (pArgs->netrole != NULL && !(strcmp(pArgs->netrole, "client") == 0 || strcmp(pArgs->netrole, "server") == 0)) {
|
||||||
printf("Invalid netrole:%s\n", pArgs->netrole);
|
printf("Invalid netrole:%s\r\n", pArgs->netrole);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->password != NULL && (strlen(pArgs->password) <= 0)) {
|
if (pArgs->password != NULL && (strlen(pArgs->password) <= 0)) {
|
||||||
printf("Invalid password\n");
|
printf("Invalid password\r\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->port < 0 || pArgs->port > 65535) {
|
if (pArgs->port < 0 || pArgs->port > 65535) {
|
||||||
printf("Invalid port\n");
|
printf("Invalid port\r\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->pktLen < SHELL_MIN_PKG_LEN || pArgs->pktLen > SHELL_MAX_PKG_LEN) {
|
if (pArgs->pktLen < SHELL_MIN_PKG_LEN || pArgs->pktLen > SHELL_MAX_PKG_LEN) {
|
||||||
printf("Invalid pktLen:%d, range:[%d, %d]\n", pArgs->pktLen, SHELL_MIN_PKG_LEN, SHELL_MAX_PKG_LEN);
|
printf("Invalid pktLen:%d, range:[%d, %d]\r\n", pArgs->pktLen, SHELL_MIN_PKG_LEN, SHELL_MAX_PKG_LEN);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->pktNum < SHELL_MIN_PKG_NUM || pArgs->pktNum > SHELL_MAX_PKG_NUM) {
|
if (pArgs->pktNum < SHELL_MIN_PKG_NUM || pArgs->pktNum > SHELL_MAX_PKG_NUM) {
|
||||||
printf("Invalid pktNum:%d, range:[%d, %d]\n", pArgs->pktNum, SHELL_MIN_PKG_NUM, SHELL_MAX_PKG_NUM);
|
printf("Invalid pktNum:%d, range:[%d, %d]\r\n", pArgs->pktNum, SHELL_MIN_PKG_NUM, SHELL_MAX_PKG_NUM);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pArgs->displayWidth <= 0 || pArgs->displayWidth > 10 * 1024) {
|
if (pArgs->displayWidth <= 0 || pArgs->displayWidth > 10 * 1024) {
|
||||||
printf("Invalid displayWidth:%d, range:[1, 10 * 1024]\n", pArgs->displayWidth);
|
printf("Invalid displayWidth:%d, range:[1, 10 * 1024]\r\n", pArgs->displayWidth);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,8 +341,8 @@ static int32_t shellCheckArgs() {
|
||||||
int32_t shellParseArgs(int32_t argc, char *argv[]) {
|
int32_t shellParseArgs(int32_t argc, char *argv[]) {
|
||||||
shellInitArgs(argc, argv);
|
shellInitArgs(argc, argv);
|
||||||
shell.info.clientVersion =
|
shell.info.clientVersion =
|
||||||
"Welcome to the TDengine shell from %s, Client Version:%s\n"
|
"Welcome to the TDengine shell from %s, Client Version:%s\r\n"
|
||||||
"Copyright (c) 2022 by TAOS Data, Inc. All rights reserved.\n\n";
|
"Copyright (c) 2022 by TAOS Data, Inc. All rights reserved.\r\n\r\n";
|
||||||
shell.info.promptHeader = TAOS_CONSOLE_PROMPT_HEADER;
|
shell.info.promptHeader = TAOS_CONSOLE_PROMPT_HEADER;
|
||||||
shell.info.promptContinue = TAOS_CONSOLE_PROMPT_CONTINUE;
|
shell.info.promptContinue = TAOS_CONSOLE_PROMPT_CONTINUE;
|
||||||
shell.info.promptSize = 6;
|
shell.info.promptSize = 6;
|
||||||
|
|
|
@ -314,7 +314,7 @@ void shellGetScreenSize(int32_t *ws_col, int32_t *ws_row) {
|
||||||
#else
|
#else
|
||||||
struct winsize w;
|
struct winsize w;
|
||||||
if (ioctl(0, TIOCGWINSZ, &w) < 0 || w.ws_col == 0 || w.ws_row == 0) {
|
if (ioctl(0, TIOCGWINSZ, &w) < 0 || w.ws_col == 0 || w.ws_row == 0) {
|
||||||
// fprintf(stderr, "No stream device, and use default value(col 120, row 30)\n");
|
// fprintf(stderr, "No stream device, and use default value(col 120, row 30)\r\n");
|
||||||
if (ws_col != NULL) *ws_col = 120;
|
if (ws_col != NULL) *ws_col = 120;
|
||||||
if (ws_row != NULL) *ws_row = 30;
|
if (ws_row != NULL) *ws_row = 30;
|
||||||
} else {
|
} else {
|
||||||
|
@ -473,7 +473,7 @@ int32_t shellReadCommand(char *command) {
|
||||||
shellPositionCursorHome(&cmd);
|
shellPositionCursorHome(&cmd);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
shellResetCommand(&cmd, "");
|
shellResetCommand(&cmd, "");
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
raise(SIGINT);
|
raise(SIGINT);
|
||||||
|
@ -483,7 +483,7 @@ int32_t shellReadCommand(char *command) {
|
||||||
break;
|
break;
|
||||||
case 4: // EOF or Ctrl+D
|
case 4: // EOF or Ctrl+D
|
||||||
taosResetTerminalMode();
|
taosResetTerminalMode();
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
return -1;
|
return -1;
|
||||||
case 5: // ctrl E
|
case 5: // ctrl E
|
||||||
shellPositionCursorEnd(&cmd);
|
shellPositionCursorEnd(&cmd);
|
||||||
|
@ -495,7 +495,7 @@ int32_t shellReadCommand(char *command) {
|
||||||
case '\r':
|
case '\r':
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
#else
|
#else
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
#endif
|
#endif
|
||||||
if (shellIsReadyGo(&cmd)) {
|
if (shellIsReadyGo(&cmd)) {
|
||||||
sprintf(command, "%s%s", cmd.buffer, cmd.command);
|
sprintf(command, "%s%s", cmd.buffer, cmd.command);
|
||||||
|
|
|
@ -180,7 +180,7 @@ void shellRunSingleCommandImp(char *command) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shellRegexMatch(command, "^\\s*use\\s+[a-zA-Z0-9_]+\\s*;\\s*$", REG_EXTENDED | REG_ICASE)) {
|
if (shellRegexMatch(command, "^\\s*use\\s+[a-zA-Z0-9_]+\\s*;\\s*$", REG_EXTENDED | REG_ICASE)) {
|
||||||
fprintf(stdout, "Database changed.\n\n");
|
fprintf(stdout, "Database changed.\r\n\r\n");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
|
|
||||||
taos_free_result(pSql);
|
taos_free_result(pSql);
|
||||||
|
@ -197,19 +197,19 @@ void shellRunSingleCommandImp(char *command) {
|
||||||
|
|
||||||
et = taosGetTimestampUs();
|
et = taosGetTimestampUs();
|
||||||
if (error_no == 0) {
|
if (error_no == 0) {
|
||||||
printf("Query OK, %d rows affected (%.6fs)\n", numOfRows, (et - st) / 1E6);
|
printf("Query OK, %d rows affected (%.6fs)\r\n", numOfRows, (et - st) / 1E6);
|
||||||
} else {
|
} else {
|
||||||
printf("Query interrupted (%s), %d rows affected (%.6fs)\n", taos_errstr(pSql), numOfRows, (et - st) / 1E6);
|
printf("Query interrupted (%s), %d rows affected (%.6fs)\r\n", taos_errstr(pSql), numOfRows, (et - st) / 1E6);
|
||||||
}
|
}
|
||||||
taos_free_result(pSql);
|
taos_free_result(pSql);
|
||||||
} else {
|
} else {
|
||||||
int32_t num_rows_affacted = taos_affected_rows(pSql);
|
int32_t num_rows_affacted = taos_affected_rows(pSql);
|
||||||
taos_free_result(pSql);
|
taos_free_result(pSql);
|
||||||
et = taosGetTimestampUs();
|
et = taosGetTimestampUs();
|
||||||
printf("Query OK, %d of %d rows affected (%.6fs)\n", num_rows_affacted, num_rows_affacted, (et - st) / 1E6);
|
printf("Query OK, %d of %d rows affected (%.6fs)\r\n", num_rows_affacted, num_rows_affacted, (et - st) / 1E6);
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
char *shellFormatTimestamp(char *buf, int64_t val, int32_t precision) {
|
char *shellFormatTimestamp(char *buf, int64_t val, int32_t precision) {
|
||||||
|
@ -344,7 +344,7 @@ int32_t shellDumpResultToFile(const char *fname, TAOS_RES *tres) {
|
||||||
|
|
||||||
TdFilePtr pFile = taosOpenFile(fullname, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_TRUNC | TD_FILE_STREAM);
|
TdFilePtr pFile = taosOpenFile(fullname, TD_FILE_CREATE | TD_FILE_WRITE | TD_FILE_TRUNC | TD_FILE_STREAM);
|
||||||
if (pFile == NULL) {
|
if (pFile == NULL) {
|
||||||
fprintf(stderr, "failed to open file: %s\n", fullname);
|
fprintf(stderr, "failed to open file: %s\r\n", fullname);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ int32_t shellDumpResultToFile(const char *fname, TAOS_RES *tres) {
|
||||||
}
|
}
|
||||||
taosFprintfFile(pFile, "%s", fields[col].name);
|
taosFprintfFile(pFile, "%s", fields[col].name);
|
||||||
}
|
}
|
||||||
taosFprintfFile(pFile, "\n");
|
taosFprintfFile(pFile, "\r\n");
|
||||||
|
|
||||||
int32_t numOfRows = 0;
|
int32_t numOfRows = 0;
|
||||||
do {
|
do {
|
||||||
|
@ -369,7 +369,7 @@ int32_t shellDumpResultToFile(const char *fname, TAOS_RES *tres) {
|
||||||
}
|
}
|
||||||
shellDumpFieldToFile(pFile, (const char *)row[i], fields + i, length[i], precision);
|
shellDumpFieldToFile(pFile, (const char *)row[i], fields + i, length[i], precision);
|
||||||
}
|
}
|
||||||
taosFprintfFile(pFile, "\n");
|
taosFprintfFile(pFile, "\r\n");
|
||||||
|
|
||||||
numOfRows++;
|
numOfRows++;
|
||||||
row = taos_fetch_row(tres);
|
row = taos_fetch_row(tres);
|
||||||
|
@ -559,7 +559,7 @@ int32_t shellVerticalPrintResult(TAOS_RES *tres, const char *sql) {
|
||||||
int32_t showMore = 1;
|
int32_t showMore = 1;
|
||||||
do {
|
do {
|
||||||
if (numOfRows < resShowMaxNum) {
|
if (numOfRows < resShowMaxNum) {
|
||||||
printf("*************************** %d.row ***************************\n", numOfRows + 1);
|
printf("*************************** %d.row ***************************\r\n", numOfRows + 1);
|
||||||
|
|
||||||
int32_t *length = taos_fetch_lengths(tres);
|
int32_t *length = taos_fetch_lengths(tres);
|
||||||
|
|
||||||
|
@ -570,16 +570,17 @@ int32_t shellVerticalPrintResult(TAOS_RES *tres, const char *sql) {
|
||||||
printf("%*.s%s: ", padding, " ", field->name);
|
printf("%*.s%s: ", padding, " ", field->name);
|
||||||
|
|
||||||
shellPrintField((const char *)row[i], field, 0, length[i], precision);
|
shellPrintField((const char *)row[i], field, 0, length[i], precision);
|
||||||
|
putchar('\r');
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
} else if (showMore) {
|
} else if (showMore) {
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
printf(" Notice: The result shows only the first %d rows.\n", SHELL_DEFAULT_RES_SHOW_NUM);
|
printf(" Notice: The result shows only the first %d rows.\r\n", SHELL_DEFAULT_RES_SHOW_NUM);
|
||||||
printf(" You can use the `LIMIT` clause to get fewer result to show.\n");
|
printf(" You can use the `LIMIT` clause to get fewer result to show.\r\n");
|
||||||
printf(" Or use '>>' to redirect the whole set of the result to a specified file.\n");
|
printf(" Or use '>>' to redirect the whole set of the result to a specified file.\r\n");
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
printf(" You can use Ctrl+C to stop the underway fetching.\n");
|
printf(" You can use Ctrl+C to stop the underway fetching.\r\n");
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
showMore = 0;
|
showMore = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -667,10 +668,12 @@ void shellPrintHeader(TAOS_FIELD *fields, int32_t *width, int32_t num_fields) {
|
||||||
rowWidth += width[col] + 3;
|
rowWidth += width[col] + 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
putchar('\r');
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
for (int32_t i = 0; i < rowWidth; i++) {
|
for (int32_t i = 0; i < rowWidth; i++) {
|
||||||
putchar('=');
|
putchar('=');
|
||||||
}
|
}
|
||||||
|
putchar('\r');
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -709,15 +712,16 @@ int32_t shellHorizontalPrintResult(TAOS_RES *tres, const char *sql) {
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
putchar('|');
|
putchar('|');
|
||||||
}
|
}
|
||||||
|
putchar('\r');
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
} else if (showMore) {
|
} else if (showMore) {
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
printf(" Notice: The result shows only the first %d rows.\n", SHELL_DEFAULT_RES_SHOW_NUM);
|
printf(" Notice: The result shows only the first %d rows.\r\n", SHELL_DEFAULT_RES_SHOW_NUM);
|
||||||
printf(" You can use the `LIMIT` clause to get fewer result to show.\n");
|
printf(" You can use the `LIMIT` clause to get fewer result to show.\r\n");
|
||||||
printf(" Or use '>>' to redirect the whole set of the result to a specified file.\n");
|
printf(" Or use '>>' to redirect the whole set of the result to a specified file.\r\n");
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
printf(" You can use Ctrl+C to stop the underway fetching.\n");
|
printf(" You can use Ctrl+C to stop the underway fetching.\r\n");
|
||||||
printf("\n");
|
printf("\r\n");
|
||||||
showMore = 0;
|
showMore = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -794,7 +798,7 @@ void shellCleanupHistory() {
|
||||||
|
|
||||||
void shellPrintError(TAOS_RES *tres, int64_t st) {
|
void shellPrintError(TAOS_RES *tres, int64_t st) {
|
||||||
int64_t et = taosGetTimestampUs();
|
int64_t et = taosGetTimestampUs();
|
||||||
fprintf(stderr, "\nDB error: %s (%.6fs)\n", taos_errstr(tres), (et - st) / 1E6);
|
fprintf(stderr, "\r\nDB error: %s (%.6fs)\r\n", taos_errstr(tres), (et - st) / 1E6);
|
||||||
taos_free_result(tres);
|
taos_free_result(tres);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -816,7 +820,7 @@ void shellSourceFile(const char *file) {
|
||||||
|
|
||||||
TdFilePtr pFile = taosOpenFile(fullname, TD_FILE_READ | TD_FILE_STREAM);
|
TdFilePtr pFile = taosOpenFile(fullname, TD_FILE_READ | TD_FILE_STREAM);
|
||||||
if (pFile == NULL) {
|
if (pFile == NULL) {
|
||||||
fprintf(stderr, "failed to open file %s\n", fullname);
|
fprintf(stderr, "failed to open file %s\r\n", fullname);
|
||||||
taosMemoryFree(cmd);
|
taosMemoryFree(cmd);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -837,7 +841,7 @@ void shellSourceFile(const char *file) {
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(cmd + cmd_len, line, read_len);
|
memcpy(cmd + cmd_len, line, read_len);
|
||||||
printf("%s%s\n", shell.info.promptHeader, cmd);
|
printf("%s%s\r\n", shell.info.promptHeader, cmd);
|
||||||
shellRunCommand(cmd);
|
shellRunCommand(cmd);
|
||||||
memset(cmd, 0, TSDB_MAX_ALLOWED_SQL_LEN);
|
memset(cmd, 0, TSDB_MAX_ALLOWED_SQL_LEN);
|
||||||
cmd_len = 0;
|
cmd_len = 0;
|
||||||
|
@ -851,7 +855,7 @@ void shellSourceFile(const char *file) {
|
||||||
void shellGetGrantInfo() {
|
void shellGetGrantInfo() {
|
||||||
char sinfo[1024] = {0};
|
char sinfo[1024] = {0};
|
||||||
tstrncpy(sinfo, taos_get_server_info(shell.conn), sizeof(sinfo));
|
tstrncpy(sinfo, taos_get_server_info(shell.conn), sizeof(sinfo));
|
||||||
strtok(sinfo, "\n");
|
strtok(sinfo, "\r\n");
|
||||||
|
|
||||||
char sql[] = "show grants";
|
char sql[] = "show grants";
|
||||||
|
|
||||||
|
@ -860,25 +864,25 @@ void shellGetGrantInfo() {
|
||||||
int32_t code = taos_errno(tres);
|
int32_t code = taos_errno(tres);
|
||||||
if (code != TSDB_CODE_SUCCESS) {
|
if (code != TSDB_CODE_SUCCESS) {
|
||||||
if (code != TSDB_CODE_OPS_NOT_SUPPORT && code != TSDB_CODE_MND_NO_RIGHTS) {
|
if (code != TSDB_CODE_OPS_NOT_SUPPORT && code != TSDB_CODE_MND_NO_RIGHTS) {
|
||||||
fprintf(stderr, "Failed to check Server Edition, Reason:0x%04x:%s\n\n", code, taos_errstr(tres));
|
fprintf(stderr, "Failed to check Server Edition, Reason:0x%04x:%s\r\n\r\n", code, taos_errstr(tres));
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t num_fields = taos_field_count(tres);
|
int32_t num_fields = taos_field_count(tres);
|
||||||
if (num_fields == 0) {
|
if (num_fields == 0) {
|
||||||
fprintf(stderr, "\nInvalid grant information.\n");
|
fprintf(stderr, "\r\nInvalid grant information.\r\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
} else {
|
} else {
|
||||||
if (tres == NULL) {
|
if (tres == NULL) {
|
||||||
fprintf(stderr, "\nGrant information is null.\n");
|
fprintf(stderr, "\r\nGrant information is null.\r\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
TAOS_FIELD *fields = taos_fetch_fields(tres);
|
TAOS_FIELD *fields = taos_fetch_fields(tres);
|
||||||
TAOS_ROW row = taos_fetch_row(tres);
|
TAOS_ROW row = taos_fetch_row(tres);
|
||||||
if (row == NULL) {
|
if (row == NULL) {
|
||||||
fprintf(stderr, "\nFailed to get grant information from server. Abort.\n");
|
fprintf(stderr, "\r\nFailed to get grant information from server. Abort.\r\n");
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -891,17 +895,17 @@ void shellGetGrantInfo() {
|
||||||
memcpy(expired, row[2], fields[2].bytes);
|
memcpy(expired, row[2], fields[2].bytes);
|
||||||
|
|
||||||
if (strcmp(serverVersion, "community") == 0) {
|
if (strcmp(serverVersion, "community") == 0) {
|
||||||
fprintf(stdout, "Server is Community Edition.\n");
|
fprintf(stdout, "Server is Community Edition.\r\n");
|
||||||
} else if (strcmp(expiretime, "unlimited") == 0) {
|
} else if (strcmp(expiretime, "unlimited") == 0) {
|
||||||
fprintf(stdout, "Server is Enterprise %s Edition, %s and will never expire.\n", serverVersion, sinfo);
|
fprintf(stdout, "Server is Enterprise %s Edition, %s and will never expire.\r\n", serverVersion, sinfo);
|
||||||
} else {
|
} else {
|
||||||
fprintf(stdout, "Server is Enterprise %s Edition, %s and will expire at %s.\n", serverVersion, sinfo, expiretime);
|
fprintf(stdout, "Server is Enterprise %s Edition, %s and will expire at %s.\r\n", serverVersion, sinfo, expiretime);
|
||||||
}
|
}
|
||||||
|
|
||||||
taos_free_result(tres);
|
taos_free_result(tres);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(stdout, "\n");
|
fprintf(stdout, "\r\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context) { tsem_post(&shell.cancelSem); }
|
void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context) { tsem_post(&shell.cancelSem); }
|
||||||
|
@ -921,7 +925,7 @@ void *shellCancelHandler(void *arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
taosResetTerminalMode();
|
taosResetTerminalMode();
|
||||||
printf("\nReceive SIGTERM or other signal, quit shell.\n");
|
printf("\r\nReceive SIGTERM or other signal, quit shell.\r\n");
|
||||||
shellWriteHistory();
|
shellWriteHistory();
|
||||||
shellExit();
|
shellExit();
|
||||||
}
|
}
|
||||||
|
@ -936,7 +940,7 @@ void *shellThreadLoop(void *arg) {
|
||||||
|
|
||||||
char *command = taosMemoryMalloc(SHELL_MAX_COMMAND_SIZE);
|
char *command = taosMemoryMalloc(SHELL_MAX_COMMAND_SIZE);
|
||||||
if (command == NULL) {
|
if (command == NULL) {
|
||||||
printf("failed to malloc command\n");
|
printf("failed to malloc command\r\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -979,7 +983,7 @@ int32_t shellExecute() {
|
||||||
|
|
||||||
if (pArgs->commands != NULL || pArgs->file[0] != 0) {
|
if (pArgs->commands != NULL || pArgs->file[0] != 0) {
|
||||||
if (pArgs->commands != NULL) {
|
if (pArgs->commands != NULL) {
|
||||||
printf("%s%s\n", shell.info.promptHeader, pArgs->commands);
|
printf("%s%s\r\n", shell.info.promptHeader, pArgs->commands);
|
||||||
char *cmd = strdup(pArgs->commands);
|
char *cmd = strdup(pArgs->commands);
|
||||||
shellRunCommand(cmd);
|
shellRunCommand(cmd);
|
||||||
taosMemoryFree(cmd);
|
taosMemoryFree(cmd);
|
||||||
|
@ -996,7 +1000,7 @@ int32_t shellExecute() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tsem_init(&shell.cancelSem, 0, 0) != 0) {
|
if (tsem_init(&shell.cancelSem, 0, 0) != 0) {
|
||||||
printf("failed to create cancel semphore\n");
|
printf("failed to create cancel semphore\r\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ static void shellWorkAsClient() {
|
||||||
|
|
||||||
clientRpc = rpcOpen(&rpcInit);
|
clientRpc = rpcOpen(&rpcInit);
|
||||||
if (clientRpc == NULL) {
|
if (clientRpc == NULL) {
|
||||||
printf("failed to init net test client since %s\n", terrstr());
|
printf("failed to init net test client since %s\r\n", terrstr());
|
||||||
goto _OVER;
|
goto _OVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ static void shellWorkAsClient() {
|
||||||
pArgs->port = tsServerPort;
|
pArgs->port = tsServerPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("network test client is initialized, the server is %s:%u\n", fqdn, pArgs->port);
|
printf("network test client is initialized, the server is %s:%u\r\n", fqdn, pArgs->port);
|
||||||
|
|
||||||
tstrncpy(epSet.eps[0].fqdn, fqdn, TSDB_FQDN_LEN);
|
tstrncpy(epSet.eps[0].fqdn, fqdn, TSDB_FQDN_LEN);
|
||||||
epSet.eps[0].port = (uint16_t)pArgs->port;
|
epSet.eps[0].port = (uint16_t)pArgs->port;
|
||||||
|
@ -62,13 +62,13 @@ static void shellWorkAsClient() {
|
||||||
rpcMsg.pCont = rpcMallocCont(pArgs->pktLen);
|
rpcMsg.pCont = rpcMallocCont(pArgs->pktLen);
|
||||||
rpcMsg.contLen = pArgs->pktLen;
|
rpcMsg.contLen = pArgs->pktLen;
|
||||||
|
|
||||||
printf("request is sent, size:%d\n", rpcMsg.contLen);
|
printf("request is sent, size:%d\r\n", rpcMsg.contLen);
|
||||||
rpcSendRecv(clientRpc, &epSet, &rpcMsg, &rpcRsp);
|
rpcSendRecv(clientRpc, &epSet, &rpcMsg, &rpcRsp);
|
||||||
if (rpcRsp.code == 0 && rpcRsp.contLen == rpcMsg.contLen) {
|
if (rpcRsp.code == 0 && rpcRsp.contLen == rpcMsg.contLen) {
|
||||||
printf("response is received, size:%d\n", rpcMsg.contLen);
|
printf("response is received, size:%d\r\n", rpcMsg.contLen);
|
||||||
if (rpcRsp.code == 0) totalSucc++;
|
if (rpcRsp.code == 0) totalSucc++;
|
||||||
} else {
|
} else {
|
||||||
printf("response not received since %s\n", tstrerror(rpcRsp.code));
|
printf("response not received since %s\r\n", tstrerror(rpcRsp.code));
|
||||||
}
|
}
|
||||||
|
|
||||||
rpcFreeCont(rpcRsp.pCont);
|
rpcFreeCont(rpcRsp.pCont);
|
||||||
|
@ -78,7 +78,7 @@ static void shellWorkAsClient() {
|
||||||
uint64_t endTime = taosGetTimestampUs();
|
uint64_t endTime = taosGetTimestampUs();
|
||||||
uint64_t elT = endTime - startTime;
|
uint64_t elT = endTime - startTime;
|
||||||
|
|
||||||
printf("\ntotal succ:%5d/%d\tcost:%8.2lf ms\tspeed:%8.2lf MB/s\n", totalSucc, pArgs->pktNum, elT / 1000.0,
|
printf("\r\ntotal succ:%5d/%d\tcost:%8.2lf ms\tspeed:%8.2lf MB/s\r\n", totalSucc, pArgs->pktNum, elT / 1000.0,
|
||||||
pArgs->pktLen / (elT / 1000000.0) / 1024.0 / 1024.0 * totalSucc);
|
pArgs->pktLen / (elT / 1000000.0) / 1024.0 / 1024.0 * totalSucc);
|
||||||
|
|
||||||
_OVER:
|
_OVER:
|
||||||
|
@ -91,7 +91,7 @@ _OVER:
|
||||||
}
|
}
|
||||||
|
|
||||||
static void shellProcessMsg(void *p, SRpcMsg *pRpc, SEpSet *pEpSet) {
|
static void shellProcessMsg(void *p, SRpcMsg *pRpc, SEpSet *pEpSet) {
|
||||||
printf("request is received, size:%d\n", pRpc->contLen);
|
printf("request is received, size:%d\r\n", pRpc->contLen);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
SRpcMsg rsp = {.info = pRpc->info, .code = 0};
|
SRpcMsg rsp = {.info = pRpc->info, .code = 0};
|
||||||
rsp.pCont = rpcMallocCont(pRpc->contLen);
|
rsp.pCont = rpcMallocCont(pRpc->contLen);
|
||||||
|
@ -124,9 +124,9 @@ static void shellWorkAsServer() {
|
||||||
|
|
||||||
void *serverRpc = rpcOpen(&rpcInit);
|
void *serverRpc = rpcOpen(&rpcInit);
|
||||||
if (serverRpc == NULL) {
|
if (serverRpc == NULL) {
|
||||||
printf("failed to init net test server since %s\n", terrstr());
|
printf("failed to init net test server since %s\r\n", terrstr());
|
||||||
} else {
|
} else {
|
||||||
printf("network test server is initialized, port:%u\n", pArgs->port);
|
printf("network test server is initialized, port:%u\r\n", pArgs->port);
|
||||||
taosSetSignal(SIGTERM, shellNettestHandler);
|
taosSetSignal(SIGTERM, shellNettestHandler);
|
||||||
while (1) taosMsleep(10);
|
while (1) taosMsleep(10);
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ bool shellRegexMatch(const char *s, const char *reg, int32_t cflags) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
regerror(reti, ®ex, msgbuf, sizeof(msgbuf));
|
regerror(reti, ®ex, msgbuf, sizeof(msgbuf));
|
||||||
fprintf(stderr, "Regex match failed: %s\n", msgbuf);
|
fprintf(stderr, "Regex match failed: %s\r\n", msgbuf);
|
||||||
regfree(®ex);
|
regfree(®ex);
|
||||||
shellExit();
|
shellExit();
|
||||||
}
|
}
|
||||||
|
@ -68,19 +68,19 @@ int32_t shellCheckIntSize() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void shellPrintVersion() { printf("version: %s\n", version); }
|
void shellPrintVersion() { printf("version: %s\r\n", version); }
|
||||||
|
|
||||||
void shellGenerateAuth() {
|
void shellGenerateAuth() {
|
||||||
char secretEncrypt[TSDB_PASSWORD_LEN + 1] = {0};
|
char secretEncrypt[TSDB_PASSWORD_LEN + 1] = {0};
|
||||||
taosEncryptPass_c((uint8_t *)shell.args.password, strlen(shell.args.password), secretEncrypt);
|
taosEncryptPass_c((uint8_t *)shell.args.password, strlen(shell.args.password), secretEncrypt);
|
||||||
printf("%s\n", secretEncrypt);
|
printf("%s\r\n", secretEncrypt);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
void shellDumpConfig() {
|
void shellDumpConfig() {
|
||||||
SConfig *pCfg = taosGetCfg();
|
SConfig *pCfg = taosGetCfg();
|
||||||
if (pCfg == NULL) {
|
if (pCfg == NULL) {
|
||||||
printf("TDengine read global config failed!\n");
|
printf("TDengine read global config failed!\r\n");
|
||||||
} else {
|
} else {
|
||||||
cfgDumpCfg(pCfg, 1, true);
|
cfgDumpCfg(pCfg, 1, true);
|
||||||
}
|
}
|
||||||
|
@ -95,23 +95,23 @@ void shellCheckServerStatus() {
|
||||||
code = taos_check_server_status(shell.args.host, shell.args.port, details, 1024);
|
code = taos_check_server_status(shell.args.host, shell.args.port, details, 1024);
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case TSDB_SRV_STATUS_UNAVAILABLE:
|
case TSDB_SRV_STATUS_UNAVAILABLE:
|
||||||
printf("0: unavailable\n");
|
printf("0: unavailable\r\n");
|
||||||
break;
|
break;
|
||||||
case TSDB_SRV_STATUS_NETWORK_OK:
|
case TSDB_SRV_STATUS_NETWORK_OK:
|
||||||
printf("1: network ok\n");
|
printf("1: network ok\r\n");
|
||||||
break;
|
break;
|
||||||
case TSDB_SRV_STATUS_SERVICE_OK:
|
case TSDB_SRV_STATUS_SERVICE_OK:
|
||||||
printf("2: service ok\n");
|
printf("2: service ok\r\n");
|
||||||
break;
|
break;
|
||||||
case TSDB_SRV_STATUS_SERVICE_DEGRADED:
|
case TSDB_SRV_STATUS_SERVICE_DEGRADED:
|
||||||
printf("3: service degraded\n");
|
printf("3: service degraded\r\n");
|
||||||
break;
|
break;
|
||||||
case TSDB_SRV_STATUS_EXTING:
|
case TSDB_SRV_STATUS_EXTING:
|
||||||
printf("4: exiting\n");
|
printf("4: exiting\r\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (strlen(details) != 0) {
|
if (strlen(details) != 0) {
|
||||||
printf("%s\n\n", details);
|
printf("%s\r\n\r\n", details);
|
||||||
}
|
}
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
if (code == TSDB_SRV_STATUS_NETWORK_OK && shell.args.is_startup) {
|
if (code == TSDB_SRV_STATUS_NETWORK_OK && shell.args.is_startup) {
|
||||||
|
|
Loading…
Reference in New Issue