diff --git a/source/client/src/clientImpl.c b/source/client/src/clientImpl.c index 4815e862e8..c038799bb4 100644 --- a/source/client/src/clientImpl.c +++ b/source/client/src/clientImpl.c @@ -434,4 +434,10 @@ void setResultDataPtr(SClientResultInfo* pResultInfo, TAOS_FIELD* pFields, int32 pResultInfo->pCol[i] = pResultInfo->row[i]; offset += pResultInfo->fields[i].bytes; } -} \ No newline at end of file +} + +const char *taos_get_client_info() { return version; } + +int taos_affected_rows(TAOS_RES *res) { return 1; } + +int taos_result_precision(TAOS_RES *res) { return TSDB_TIME_PRECISION_MILLI; } diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index fdf6373810..629677c9a5 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -1 +1 @@ -#add_subdirectory(shell) \ No newline at end of file +add_subdirectory(shell) \ No newline at end of file diff --git a/tools/shell/CMakeLists.txt b/tools/shell/CMakeLists.txt index 9216bfcb6c..def421c212 100644 --- a/tools/shell/CMakeLists.txt +++ b/tools/shell/CMakeLists.txt @@ -1,13 +1,18 @@ aux_source_directory(src SHELL_SRC) -list(REMOVE_ITEM SHELL_SRC ./src/shellWindows.c) -list(REMOVE_ITEM SHELL_SRC ./src/shellDarwin.c) +list(REMOVE_ITEM SHELL_SRC src/shellWindows.c) +list(REMOVE_ITEM SHELL_SRC src/shellDarwin.c) add_executable(shell ${SHELL_SRC}) target_link_libraries( shell PUBLIC taos PUBLIC util + PUBLIC common PUBLIC os ) +target_include_directories( + shell + PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/inc" +) SET_TARGET_PROPERTIES(shell PROPERTIES OUTPUT_NAME taos) diff --git a/tools/shell/inc/shell.h b/tools/shell/inc/shell.h index 10221a409a..cf31e9d9d9 100644 --- a/tools/shell/inc/shell.h +++ b/tools/shell/inc/shell.h @@ -13,13 +13,13 @@ * along with this program. If not, see . */ -#ifndef __SHELL__ -#define __SHELL__ +#ifndef _TD_SHELL_H_ +#define _TD_SHELL_H_ -#include "../../../../include/client/taos.h" -#include "stdbool.h" +#include "os.h" + +#include "taos.h" #include "taosdef.h" -#include "tsclient.h" #define MAX_USERNAME_SIZE 64 #define MAX_DBNAME_SIZE 64 diff --git a/tools/shell/src/shellCheck.c b/tools/shell/src/backup/shellCheck.c similarity index 100% rename from tools/shell/src/shellCheck.c rename to tools/shell/src/backup/shellCheck.c diff --git a/tools/shell/src/shellDarwin.c b/tools/shell/src/backup/shellDarwin.c similarity index 100% rename from tools/shell/src/shellDarwin.c rename to tools/shell/src/backup/shellDarwin.c diff --git a/tools/shell/src/shellImport.c b/tools/shell/src/backup/shellImport.c similarity index 100% rename from tools/shell/src/shellImport.c rename to tools/shell/src/backup/shellImport.c diff --git a/tools/shell/src/shellWindows.c b/tools/shell/src/backup/shellWindows.c similarity index 100% rename from tools/shell/src/shellWindows.c rename to tools/shell/src/backup/shellWindows.c diff --git a/tools/shell/src/tnettest.c b/tools/shell/src/backup/tnettest.c similarity index 100% rename from tools/shell/src/tnettest.c rename to tools/shell/src/backup/tnettest.c diff --git a/tools/shell/inc/tnettest.h b/tools/shell/src/backup/tnettest.h similarity index 100% rename from tools/shell/inc/tnettest.h rename to tools/shell/src/backup/tnettest.h diff --git a/tools/shell/src/shellCommand.c b/tools/shell/src/shellCommand.c index 67e0c94989..cf0ceded38 100644 --- a/tools/shell/src/shellCommand.c +++ b/tools/shell/src/shellCommand.c @@ -19,6 +19,8 @@ #include "shell.h" #include "shellCommand.h" +#include + extern int wcwidth(wchar_t c); extern int wcswidth(const wchar_t *s, size_t n); typedef struct { diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index efc37403b4..3a6cbd259e 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -21,13 +21,14 @@ #include "os.h" #include "shell.h" #include "shellCommand.h" -#include "tutil.h" #include "taosdef.h" #include "taoserror.h" #include "tglobal.h" -#include "tsclient.h" +#include "ttypes.h" +#include "tutil.h" #include +#include /**************** Global variables ****************/ #ifdef _TD_POWER_ @@ -58,7 +59,7 @@ SShellHistory history; #define DEFAULT_MAX_BINARY_DISPLAY_WIDTH 30 extern int32_t tsMaxBinaryDisplayWidth; -extern TAOS *taos_connect_auth(const char *ip, const char *user, const char *auth, const char *db, uint16_t port); +extern TAOS *taos_connect_auth(const char *ip, const char *user, const char *auth, const char *db, uint16_t port); /* * FUNCTION: Initialize the shell. @@ -89,12 +90,6 @@ TAOS *shellInit(SShellArguments *_args) { _args->user = TSDB_DEFAULT_USER; } - if (taos_init()) { - printf("failed to init taos\n"); - fflush(stdout); - return NULL; - } - // Connect to the database. TAOS *con = NULL; if (_args->auth == NULL) { @@ -127,6 +122,7 @@ TAOS *shellInit(SShellArguments *_args) { exit(EXIT_SUCCESS); } +#if 0 #ifndef WINDOWS if (_args->dir[0] != 0) { source_dir(con, _args); @@ -139,12 +135,13 @@ TAOS *shellInit(SShellArguments *_args) { taos_close(con); exit(EXIT_SUCCESS); } +#endif #endif return con; } -static bool isEmptyCommand(const char* cmd) { +static bool isEmptyCommand(const char *cmd) { for (char c = *cmd++; c != 0; c = *cmd++) { if (c != ' ' && c != '\t' && c != ';') { return false; @@ -153,7 +150,6 @@ static bool isEmptyCommand(const char* cmd) { return true; } - static int32_t shellRunSingleCommand(TAOS *con, char *command) { /* If command is empty just return */ if (isEmptyCommand(command)) { @@ -176,10 +172,11 @@ static int32_t shellRunSingleCommand(TAOS *con, char *command) { return 0; } - if (regex_match(command, "^[\t ]*set[ \t]+max_binary_display_width[ \t]+(default|[1-9][0-9]*)[ \t;]*$", REG_EXTENDED | REG_ICASE)) { + if (regex_match(command, "^[\t ]*set[ \t]+max_binary_display_width[ \t]+(default|[1-9][0-9]*)[ \t;]*$", + REG_EXTENDED | REG_ICASE)) { strtok(command, " \t"); strtok(NULL, " \t"); - char* p = strtok(NULL, " \t"); + char *p = strtok(NULL, " \t"); if (strcasecmp(p, "default") == 0) { tsMaxBinaryDisplayWidth = DEFAULT_MAX_BINARY_DISPLAY_WIDTH; } else { @@ -202,8 +199,7 @@ static int32_t shellRunSingleCommand(TAOS *con, char *command) { return 0; } - -int32_t shellRunCommand(TAOS* con, char* command) { +int32_t shellRunCommand(TAOS *con, char *command) { /* If command is empty just return */ if (isEmptyCommand(command)) { return 0; @@ -255,7 +251,7 @@ int32_t shellRunCommand(TAOS* con, char* command) { if (c == '\\') { if (quote != 0 && (*command == '_' || *command == '\\')) { - //DO nothing + // DO nothing } else { esc = true; continue; @@ -284,21 +280,22 @@ int32_t shellRunCommand(TAOS* con, char* command) { return shellRunSingleCommand(con, cmd); } - void freeResultWithRid(int64_t rid) { +#if 0 SSqlObj* pSql = taosAcquireRef(tscObjRef, rid); if(pSql){ taos_free_result(pSql); taosReleaseRef(tscObjRef, rid); } +#endif } void shellRunCommandOnServer(TAOS *con, char command[]) { int64_t st, et; wordexp_t full_path; - char * sptr = NULL; - char * cptr = NULL; - char * fname = NULL; + char *sptr = NULL; + char *cptr = NULL; + char *fname = NULL; bool printMode = false; if ((sptr = strstr(command, ">>")) != NULL) { @@ -327,7 +324,7 @@ void shellRunCommandOnServer(TAOS *con, char command[]) { st = taosGetTimestampUs(); - TAOS_RES* pSql = taos_query_h(con, command, &result); + TAOS_RES *pSql = taos_query(con, command); if (taos_errno(pSql)) { taos_error(pSql, st); return; @@ -344,7 +341,7 @@ void shellRunCommandOnServer(TAOS *con, char command[]) { return; } - if (!tscIsUpdateQuery(pSql)) { // select and show kinds of commands + if (true /*!tscIsUpdateQuery(pSql)*/) { // select and show kinds of commands int error_no = 0; int numOfRows = shellDumpResult(pSql, fname, &error_no, printMode); @@ -405,14 +402,13 @@ int regex_match(const char *s, const char *reg, int cflags) { return 0; } - -static char* formatTimestamp(char* buf, int64_t val, int precision) { +static char *formatTimestamp(char *buf, int64_t val, int precision) { if (args.is_raw_time) { sprintf(buf, "%" PRId64, val); return buf; } - time_t tt; + time_t tt; int32_t ms = 0; if (precision == TSDB_TIME_PRECISION_NANO) { tt = (time_t)(val / 1000000000); @@ -425,13 +421,13 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) { ms = val % 1000; } -/* comment out as it make testcases like select_with_tags.sim fail. - but in windows, this may cause the call to localtime crash if tt < 0, - need to find a better solution. - if (tt < 0) { - tt = 0; - } - */ + /* comment out as it make testcases like select_with_tags.sim fail. + but in windows, this may cause the call to localtime crash if tt < 0, + need to find a better solution. + if (tt < 0) { + tt = 0; + } + */ #ifdef WINDOWS if (tt < 0) tt = 0; @@ -447,8 +443,8 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) { } } - struct tm* ptm = localtime(&tt); - size_t pos = strftime(buf, 35, "%Y-%m-%d %H:%M:%S", ptm); + struct tm *ptm = localtime(&tt); + size_t pos = strftime(buf, 35, "%Y-%m-%d %H:%M:%S", ptm); if (precision == TSDB_TIME_PRECISION_NANO) { sprintf(buf + pos, ".%09d", ms); @@ -461,8 +457,7 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) { return buf; } - -static void dumpFieldToFile(FILE* fp, const char* val, TAOS_FIELD* field, int32_t length, int precision) { +static void dumpFieldToFile(FILE *fp, const char *val, TAOS_FIELD *field, int32_t length, int precision) { if (val == NULL) { fprintf(fp, "%s", TSDB_DATA_NULL_STR); return; @@ -498,7 +493,7 @@ static void dumpFieldToFile(FILE* fp, const char* val, TAOS_FIELD* field, int32_ fprintf(fp, "\'%s\'", buf); break; case TSDB_DATA_TYPE_TIMESTAMP: - formatTimestamp(buf, *(int64_t*)val, precision); + formatTimestamp(buf, *(int64_t *)val, precision); fprintf(fp, "'%s'", buf); break; default: @@ -506,7 +501,7 @@ static void dumpFieldToFile(FILE* fp, const char* val, TAOS_FIELD* field, int32_ } } -static int dumpResultToFile(const char* fname, TAOS_RES* tres) { +static int dumpResultToFile(const char *fname, TAOS_RES *tres) { TAOS_ROW row = taos_fetch_row(tres); if (row == NULL) { return 0; @@ -519,7 +514,7 @@ static int dumpResultToFile(const char* fname, TAOS_RES* tres) { return -1; } - FILE* fp = fopen(full_path.we_wordv[0], "w"); + FILE *fp = fopen(full_path.we_wordv[0], "w"); if (fp == NULL) { fprintf(stderr, "ERROR: failed to open file: %s\n", full_path.we_wordv[0]); wordfree(&full_path); @@ -528,9 +523,9 @@ static int dumpResultToFile(const char* fname, TAOS_RES* tres) { wordfree(&full_path); - int num_fields = taos_num_fields(tres); + int num_fields = taos_num_fields(tres); TAOS_FIELD *fields = taos_fetch_fields(tres); - int precision = taos_result_precision(tres); + int precision = taos_result_precision(tres); for (int col = 0; col < num_fields; col++) { if (col > 0) { @@ -542,18 +537,18 @@ static int dumpResultToFile(const char* fname, TAOS_RES* tres) { int numOfRows = 0; do { - int32_t* length = taos_fetch_lengths(tres); + int32_t *length = taos_fetch_lengths(tres); for (int i = 0; i < num_fields; i++) { if (i > 0) { fputc(',', fp); } - dumpFieldToFile(fp, (const char*)row[i], fields +i, length[i], precision); + dumpFieldToFile(fp, (const char *)row[i], fields + i, length[i], precision); } fputc('\n', fp); numOfRows++; row = taos_fetch_row(tres); - } while( row != NULL); + } while (row != NULL); result = 0; fclose(fp); @@ -561,14 +556,13 @@ static int dumpResultToFile(const char* fname, TAOS_RES* tres) { return numOfRows; } - static void shellPrintNChar(const char *str, int length, int width) { wchar_t tail[3]; - int pos = 0, cols = 0, totalCols = 0, tailLen = 0; + int pos = 0, cols = 0, totalCols = 0, tailLen = 0; while (pos < length) { wchar_t wc; - int bytes = mbtowc(&wc, str + pos, MB_CUR_MAX); + int bytes = mbtowc(&wc, str + pos, MB_CUR_MAX); if (bytes == 0) { break; } @@ -625,8 +619,7 @@ static void shellPrintNChar(const char *str, int length, int width) { } } - -static void printField(const char* val, TAOS_FIELD* field, int width, int32_t length, int precision) { +static void printField(const char *val, TAOS_FIELD *field, int width, int32_t length, int precision) { if (val == NULL) { int w = width; if (field->type < TSDB_DATA_TYPE_TINYINT || field->type > TSDB_DATA_TYPE_DOUBLE) { @@ -679,7 +672,7 @@ static void printField(const char* val, TAOS_FIELD* field, int width, int32_t le shellPrintNChar(val, length, width); break; case TSDB_DATA_TYPE_TIMESTAMP: - formatTimestamp(buf, *(int64_t*)val, precision); + formatTimestamp(buf, *(int64_t *)val, precision); printf("%s", buf); break; default: @@ -687,27 +680,26 @@ static void printField(const char* val, TAOS_FIELD* field, int width, int32_t le } } - -bool isSelectQuery(TAOS_RES* tres) { +bool isSelectQuery(TAOS_RES *tres) { +#if 0 char *sql = tscGetSqlStr(tres); if (regex_match(sql, "^[\t ]*select[ \t]*", REG_EXTENDED | REG_ICASE)) { return true; } - +#endif return false; } - -static int verticalPrintResult(TAOS_RES* tres) { +static int verticalPrintResult(TAOS_RES *tres) { TAOS_ROW row = taos_fetch_row(tres); if (row == NULL) { return 0; } - int num_fields = taos_num_fields(tres); + int num_fields = taos_num_fields(tres); TAOS_FIELD *fields = taos_fetch_fields(tres); - int precision = taos_result_precision(tres); + int precision = taos_result_precision(tres); int maxColNameLen = 0; for (int col = 0; col < num_fields; col++) { @@ -719,7 +711,7 @@ static int verticalPrintResult(TAOS_RES* tres) { uint64_t resShowMaxNum = UINT64_MAX; - if (args.commands == NULL && args.file[0] == 0 && isSelectQuery(tres) && !tscIsQueryWithLimit(tres)) { + if (args.commands == NULL && args.file[0] == 0 && isSelectQuery(tres) /*&& !tscIsQueryWithLimit(tres)*/) { resShowMaxNum = DEFAULT_RES_SHOW_NUM; } @@ -729,52 +721,52 @@ static int verticalPrintResult(TAOS_RES* tres) { if (numOfRows < resShowMaxNum) { printf("*************************** %d.row ***************************\n", numOfRows + 1); - int32_t* length = taos_fetch_lengths(tres); + int32_t *length = taos_fetch_lengths(tres); for (int i = 0; i < num_fields; i++) { - TAOS_FIELD* field = fields + i; + TAOS_FIELD *field = fields + i; int padding = (int)(maxColNameLen - strlen(field->name)); printf("%*.s%s: ", padding, " ", field->name); - printField((const char*)row[i], field, 0, length[i], precision); + printField((const char *)row[i], field, 0, length[i], precision); putchar('\n'); } } else if (showMore) { - printf("[100 Rows showed, and more rows are fetching but will not be showed. You can ctrl+c to stop or wait.]\n"); - printf("[You can add limit statement to get more or redirect results to specific file to get all.]\n"); - showMore = 0; + printf("[100 Rows showed, and more rows are fetching but will not be showed. You can ctrl+c to stop or wait.]\n"); + printf("[You can add limit statement to get more or redirect results to specific file to get all.]\n"); + showMore = 0; } numOfRows++; row = taos_fetch_row(tres); - } while(row != NULL); + } while (row != NULL); return numOfRows; } -static int calcColWidth(TAOS_FIELD* field, int precision) { +static int calcColWidth(TAOS_FIELD *field, int precision) { int width = (int)strlen(field->name); switch (field->type) { case TSDB_DATA_TYPE_BOOL: - return MAX(5, width); // 'false' + return MAX(5, width); // 'false' case TSDB_DATA_TYPE_TINYINT: case TSDB_DATA_TYPE_UTINYINT: - return MAX(4, width); // '-127' + return MAX(4, width); // '-127' case TSDB_DATA_TYPE_SMALLINT: case TSDB_DATA_TYPE_USMALLINT: - return MAX(6, width); // '-32767' + return MAX(6, width); // '-32767' case TSDB_DATA_TYPE_INT: case TSDB_DATA_TYPE_UINT: - return MAX(11, width); // '-2147483648' + return MAX(11, width); // '-2147483648' case TSDB_DATA_TYPE_BIGINT: case TSDB_DATA_TYPE_UBIGINT: - return MAX(21, width); // '-9223372036854775807' + return MAX(21, width); // '-9223372036854775807' case TSDB_DATA_TYPE_FLOAT: return MAX(20, width); @@ -801,12 +793,13 @@ static int calcColWidth(TAOS_FIELD* field, int precision) { case TSDB_DATA_TYPE_TIMESTAMP: if (args.is_raw_time) { return MAX(14, width); - } if (precision == TSDB_TIME_PRECISION_NANO) { + } + if (precision == TSDB_TIME_PRECISION_NANO) { return MAX(29, width); } else if (precision == TSDB_TIME_PRECISION_MICRO) { - return MAX(26, width); // '2020-01-01 00:00:00.000000' + return MAX(26, width); // '2020-01-01 00:00:00.000000' } else { - return MAX(23, width); // '2020-01-01 00:00:00.000' + return MAX(23, width); // '2020-01-01 00:00:00.000' } default: @@ -816,13 +809,12 @@ static int calcColWidth(TAOS_FIELD* field, int precision) { return 0; } - -static void printHeader(TAOS_FIELD* fields, int* width, int num_fields) { +static void printHeader(TAOS_FIELD *fields, int *width, int num_fields) { int rowWidth = 0; for (int col = 0; col < num_fields; col++) { - TAOS_FIELD* field = fields + col; - int padding = (int)(width[col] - strlen(field->name)); - int left = padding / 2; + TAOS_FIELD *field = fields + col; + int padding = (int)(width[col] - strlen(field->name)); + int left = padding / 2; printf(" %*.s%s%*.s |", left, " ", field->name, padding - left, " "); rowWidth += width[col] + 3; } @@ -834,16 +826,15 @@ static void printHeader(TAOS_FIELD* fields, int* width, int num_fields) { putchar('\n'); } - -static int horizontalPrintResult(TAOS_RES* tres) { +static int horizontalPrintResult(TAOS_RES *tres) { TAOS_ROW row = taos_fetch_row(tres); if (row == NULL) { return 0; } - int num_fields = taos_num_fields(tres); + int num_fields = taos_num_fields(tres); TAOS_FIELD *fields = taos_fetch_fields(tres); - int precision = taos_result_precision(tres); + int precision = taos_result_precision(tres); int width[TSDB_MAX_COLUMNS]; for (int col = 0; col < num_fields; col++) { @@ -854,7 +845,7 @@ static int horizontalPrintResult(TAOS_RES* tres) { uint64_t resShowMaxNum = UINT64_MAX; - if (args.commands == NULL && args.file[0] == 0 && isSelectQuery(tres) && !tscIsQueryWithLimit(tres)) { + if (args.commands == NULL && args.file[0] == 0 && isSelectQuery(tres) /* && !tscIsQueryWithLimit(tres)*/) { resShowMaxNum = DEFAULT_RES_SHOW_NUM; } @@ -862,34 +853,33 @@ static int horizontalPrintResult(TAOS_RES* tres) { int showMore = 1; do { - int32_t* length = taos_fetch_lengths(tres); + int32_t *length = taos_fetch_lengths(tres); if (numOfRows < resShowMaxNum) { for (int i = 0; i < num_fields; i++) { putchar(' '); - printField((const char*)row[i], fields + i, width[i], length[i], precision); + printField((const char *)row[i], fields + i, width[i], length[i], precision); putchar(' '); putchar('|'); } putchar('\n'); } else if (showMore) { - printf("[100 Rows showed, and more rows are fetching but will not be showed. You can ctrl+c to stop or wait.]\n"); - printf("[You can add limit statement to show more or redirect results to specific file to get all.]\n"); - showMore = 0; + printf("[100 Rows showed, and more rows are fetching but will not be showed. You can ctrl+c to stop or wait.]\n"); + printf("[You can add limit statement to show more or redirect results to specific file to get all.]\n"); + showMore = 0; } numOfRows++; row = taos_fetch_row(tres); - } while(row != NULL); + } while (row != NULL); return numOfRows; } - int shellDumpResult(TAOS_RES *tres, char *fname, int *error_no, bool vertical) { int numOfRows = 0; if (fname != NULL) { numOfRows = dumpResultToFile(fname, tres); - } else if(vertical) { + } else if (vertical) { numOfRows = verticalPrintResult(tres); } else { numOfRows = horizontalPrintResult(tres); @@ -899,13 +889,12 @@ int shellDumpResult(TAOS_RES *tres, char *fname, int *error_no, bool vertical) { return numOfRows; } - void read_history() { // Initialize history memset(history.hist, 0, sizeof(char *) * MAX_HISTORY_SIZE); history.hstart = 0; history.hend = 0; - char * line = NULL; + char *line = NULL; size_t line_size = 0; int read_size = 0; @@ -975,9 +964,9 @@ int isCommentLine(char *line) { void source_file(TAOS *con, char *fptr) { wordexp_t full_path; int read_len = 0; - char * cmd = calloc(1, tsMaxSQLStringLen+1); + char *cmd = calloc(1, tsMaxSQLStringLen + 1); size_t cmd_len = 0; - char * line = NULL; + char *line = NULL; size_t line_len = 0; if (wordexp(fptr, &full_path, 0) != 0) { @@ -1087,5 +1076,5 @@ void shellGetGrantInfo(void *con) { } fprintf(stdout, "\n"); - #endif +#endif } diff --git a/tools/shell/src/shellLinux.c b/tools/shell/src/shellLinux.c index 93783b2055..766a57c968 100644 --- a/tools/shell/src/shellLinux.c +++ b/tools/shell/src/shellLinux.c @@ -19,7 +19,11 @@ #include "shell.h" #include "shellCommand.h" #include "tkey.h" -#include "tulog.h" +#include "ulog.h" + +#include +#include +#include #define OPT_ABORT 1 /* �Cabort */ @@ -68,7 +72,6 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) { break; case 'P': if (arg) { - tsDnodeShellPort = atoi(arg); arguments->port = atoi(arg); } else { fprintf(stderr, "Invalid port\n"); diff --git a/tools/shell/src/shellMain.c b/tools/shell/src/shellMain.c index 29713686ea..607dc79257 100644 --- a/tools/shell/src/shellMain.c +++ b/tools/shell/src/shellMain.c @@ -16,7 +16,7 @@ #include "os.h" #include "shell.h" #include "tconfig.h" -#include "tnettest.h" +#include "tglobal.h" pthread_t pid; static tsem_t cancelSem; @@ -28,23 +28,27 @@ void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context) { void *cancelHandler(void *arg) { setThreadName("cancelHandler"); - while(1) { + while (1) { if (tsem_wait(&cancelSem) != 0) { taosMsleep(10); continue; } #ifdef LINUX +#if 0 int64_t rid = atomic_val_compare_exchange_64(&result, result, 0); SSqlObj* pSql = taosAcquireRef(tscObjRef, rid); taos_stop_query(pSql); taosReleaseRef(tscObjRef, rid); +#endif #else printf("\nReceive ctrl+c or other signal, quit shell.\n"); exit(0); #endif + printf("\nReceive ctrl+c or other signal, quit shell.\n"); + exit(0); } - + return NULL; } @@ -69,31 +73,29 @@ int checkVersion() { } // Global configurations -SShellArguments args = { - .host = NULL, +SShellArguments args = {.host = NULL, #ifndef TD_WINDOWS - .password = NULL, + .password = NULL, #endif - .user = NULL, - .database = NULL, - .timezone = NULL, - .is_raw_time = false, - .is_use_passwd = false, - .dump_config = false, - .file = "\0", - .dir = "\0", - .threadNum = 5, - .commands = NULL, - .pktLen = 1000, - .pktNum = 100, - .pktType = "TCP", - .netTestRole = NULL -}; + .user = NULL, + .database = NULL, + .timezone = NULL, + .is_raw_time = false, + .is_use_passwd = false, + .dump_config = false, + .file = "\0", + .dir = "\0", + .threadNum = 5, + .commands = NULL, + .pktLen = 1000, + .pktNum = 100, + .pktType = "TCP", + .netTestRole = NULL}; /* * Main function. */ -int main(int argc, char* argv[]) { +int main(int argc, char *argv[]) { /*setlocale(LC_ALL, "en_US.UTF-8"); */ if (!checkVersion()) { @@ -102,6 +104,7 @@ int main(int argc, char* argv[]) { shellParseArgument(argc, argv, &args); +#if 0 if (args.dump_config) { taosInitGlobalCfg(); taosReadGlobalLogCfg(); @@ -123,9 +126,10 @@ int main(int argc, char* argv[]) { taosNetTest(args.netTestRole, args.host, args.port, args.pktLen, args.pktNum, args.pktType); exit(0); } +#endif /* Initialize the shell */ - TAOS* con = shellInit(&args); + TAOS *con = shellInit(&args); if (con == NULL) { exit(EXIT_FAILURE); }