[td-225]fix error in global variables.
This commit is contained in:
parent
4855d16ded
commit
bdfe4c6066
|
@ -276,6 +276,8 @@ void shellRunCommandOnServer(TAOS *con, char command[]) {
|
|||
st = taosGetTimestampUs();
|
||||
|
||||
TAOS_RES* pSql = taos_query(con, command);
|
||||
result = pSql; // set it into the global variable
|
||||
|
||||
if (taos_errno(pSql)) {
|
||||
taos_error(pSql);
|
||||
return;
|
||||
|
@ -284,7 +286,8 @@ void shellRunCommandOnServer(TAOS *con, char command[]) {
|
|||
if (regex_match(command, "^\\s*use\\s+[a-zA-Z0-9_]+\\s*;\\s*$", REG_EXTENDED | REG_ICASE)) {
|
||||
fprintf(stdout, "Database changed.\n\n");
|
||||
fflush(stdout);
|
||||
|
||||
|
||||
result = NULL;
|
||||
taos_free_result(pSql);
|
||||
return;
|
||||
}
|
||||
|
@ -294,6 +297,7 @@ void shellRunCommandOnServer(TAOS *con, char command[]) {
|
|||
int error_no = 0;
|
||||
int numOfRows = shellDumpResult(pSql, fname, &error_no, printMode);
|
||||
if (numOfRows < 0) {
|
||||
result = NULL;
|
||||
taos_free_result(pSql);
|
||||
return;
|
||||
}
|
||||
|
@ -315,7 +319,8 @@ void shellRunCommandOnServer(TAOS *con, char command[]) {
|
|||
if (fname != NULL) {
|
||||
wordfree(&full_path);
|
||||
}
|
||||
|
||||
|
||||
result = NULL;
|
||||
taos_free_result(pSql);
|
||||
}
|
||||
|
||||
|
@ -419,8 +424,8 @@ static void dumpFieldToFile(FILE* fp, const char* val, TAOS_FIELD* field, int32_
|
|||
}
|
||||
}
|
||||
|
||||
static int dumpResultToFile(const char* fname, TAOS_RES* result) {
|
||||
TAOS_ROW row = taos_fetch_row(result);
|
||||
static int dumpResultToFile(const char* fname, TAOS_RES* tres) {
|
||||
TAOS_ROW row = taos_fetch_row(tres);
|
||||
if (row == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -441,9 +446,9 @@ static int dumpResultToFile(const char* fname, TAOS_RES* result) {
|
|||
|
||||
wordfree(&full_path);
|
||||
|
||||
int num_fields = taos_num_fields(result);
|
||||
TAOS_FIELD *fields = taos_fetch_fields(result);
|
||||
int precision = taos_result_precision(result);
|
||||
int num_fields = taos_num_fields(tres);
|
||||
TAOS_FIELD *fields = taos_fetch_fields(tres);
|
||||
int precision = taos_result_precision(tres);
|
||||
|
||||
for (int col = 0; col < num_fields; col++) {
|
||||
if (col > 0) {
|
||||
|
@ -455,7 +460,7 @@ static int dumpResultToFile(const char* fname, TAOS_RES* result) {
|
|||
|
||||
int numOfRows = 0;
|
||||
do {
|
||||
int32_t* length = taos_fetch_lengths(result);
|
||||
int32_t* length = taos_fetch_lengths(tres);
|
||||
for (int i = 0; i < num_fields; i++) {
|
||||
if (i > 0) {
|
||||
fputc(',', fp);
|
||||
|
@ -465,10 +470,13 @@ static int dumpResultToFile(const char* fname, TAOS_RES* result) {
|
|||
fputc('\n', fp);
|
||||
|
||||
numOfRows++;
|
||||
row = taos_fetch_row(result);
|
||||
row = taos_fetch_row(tres);
|
||||
} while( row != NULL);
|
||||
|
||||
result = NULL;
|
||||
taos_free_result(tres);
|
||||
fclose(fp);
|
||||
|
||||
return numOfRows;
|
||||
}
|
||||
|
||||
|
@ -769,8 +777,7 @@ void write_history() {
|
|||
|
||||
void taos_error(TAOS_RES *tres) {
|
||||
fprintf(stderr, "\nDB error: %s\n", taos_errstr(tres));
|
||||
|
||||
/* free local resouce: allocated memory/metric-meta refcnt */
|
||||
result = NULL;
|
||||
taos_free_result(tres);
|
||||
}
|
||||
|
||||
|
@ -845,9 +852,9 @@ void shellGetGrantInfo(void *con) {
|
|||
|
||||
char sql[] = "show grants";
|
||||
|
||||
result = taos_query(con, sql);
|
||||
TAOS_RES* tres = taos_query(con, sql);
|
||||
|
||||
int code = taos_errno(result);
|
||||
int code = taos_errno(tres);
|
||||
if (code != TSDB_CODE_SUCCESS) {
|
||||
if (code == TSDB_CODE_COM_OPS_NOT_SUPPORT) {
|
||||
fprintf(stdout, "Server is Community Edition, version is %s\n\n", taos_get_server_info(con));
|
||||
|
@ -857,18 +864,18 @@ void shellGetGrantInfo(void *con) {
|
|||
return;
|
||||
}
|
||||
|
||||
int num_fields = taos_field_count(result);
|
||||
int num_fields = taos_field_count(tres);
|
||||
if (num_fields == 0) {
|
||||
fprintf(stderr, "\nInvalid grant information.\n");
|
||||
exit(0);
|
||||
} else {
|
||||
if (result == NULL) {
|
||||
if (tres == NULL) {
|
||||
fprintf(stderr, "\nGrant information is null.\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
TAOS_FIELD *fields = taos_fetch_fields(result);
|
||||
TAOS_ROW row = taos_fetch_row(result);
|
||||
TAOS_FIELD *fields = taos_fetch_fields(tres);
|
||||
TAOS_ROW row = taos_fetch_row(tres);
|
||||
if (row == NULL) {
|
||||
fprintf(stderr, "\nFailed to get grant information from server. Abort.\n");
|
||||
exit(0);
|
||||
|
@ -888,8 +895,8 @@ void shellGetGrantInfo(void *con) {
|
|||
fprintf(stdout, "Server is Enterprise %s Edition, version is %s and will expire at %s.\n", serverVersion, taos_get_server_info(con), expiretime);
|
||||
}
|
||||
|
||||
taos_free_result(result);
|
||||
result = NULL;
|
||||
taos_free_result(tres);
|
||||
}
|
||||
|
||||
fprintf(stdout, "\n");
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
#include "os.h"
|
||||
#include "shell.h"
|
||||
#include "tsclient.h"
|
||||
|
||||
pthread_t pid;
|
||||
|
||||
|
@ -23,14 +22,6 @@ pthread_t pid;
|
|||
void interruptHandler(int signum) {
|
||||
#ifdef LINUX
|
||||
taos_stop_query(result);
|
||||
if (result != NULL) {
|
||||
/*
|
||||
* we need to free result in async model, in order to avoid free
|
||||
* results while the master thread is waiting for server response.
|
||||
*/
|
||||
tscQueueAsyncFreeResult(result);
|
||||
}
|
||||
|
||||
result = NULL;
|
||||
#else
|
||||
printf("\nReceive ctrl+c or other signal, quit shell.\n");
|
||||
|
|
|
@ -293,7 +293,6 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
|||
static struct argp argp = {options, parse_opt, args_doc, doc};
|
||||
|
||||
TAOS *taos = NULL;
|
||||
TAOS_RES *result = NULL;
|
||||
char *command = NULL;
|
||||
char *lcommand = NULL;
|
||||
char *buffer = NULL;
|
||||
|
@ -463,10 +462,10 @@ int taosDumpOut(SDumpArguments *arguments) {
|
|||
taosDumpCharset(fp);
|
||||
|
||||
sprintf(command, "show databases");
|
||||
result = taos_query(taos, command);
|
||||
TAOS_RES* result = taos_query(taos, command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command: %s, reason: %s\n", command, taos_errstr(taos));
|
||||
fprintf(stderr, "failed to run command: %s, reason: %s\n", command, taos_errstr(result));
|
||||
taos_free_result(result);
|
||||
goto _exit_failure;
|
||||
}
|
||||
|
@ -613,7 +612,7 @@ int taosDumpDb(SDbInfo *dbInfo, SDumpArguments *arguments, FILE *fp) {
|
|||
fprintf(fp, "USE %s\n\n", dbInfo->name);
|
||||
|
||||
sprintf(command, "show tables");
|
||||
result = taos_query(taos,command);
|
||||
TAOS_RES* result = taos_query(taos,command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command %s, error: %s\n", command, taos_errstr(result));
|
||||
|
@ -717,7 +716,7 @@ void taosDumpCreateMTableClause(STableDef *tableDes, char *metric, int numOfCols
|
|||
|
||||
sprintf(command, "select %s from %s limit 1", tableDes->cols[counter].field, tableDes->name);
|
||||
|
||||
result = taos_query(taos, command);
|
||||
TAOS_RES* result = taos_query(taos, command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command %s, error: %s\n", command, taos_errstr(result));
|
||||
|
@ -795,7 +794,7 @@ int taosGetTableDes(char *table, STableDef *tableDes) {
|
|||
|
||||
sprintf(command, "describe %s", table);
|
||||
|
||||
result = taos_query(taos, command);
|
||||
TAOS_RES* result = taos_query(taos, command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command %s, error: %s\n", command, taos_errstr(result));
|
||||
|
@ -875,7 +874,7 @@ int32_t taosDumpMetric(char *metric, SDumpArguments *arguments, FILE *fp) {
|
|||
tstrncpy(tableRecord.metric, metric, TSDB_TABLE_NAME_LEN);
|
||||
|
||||
sprintf(command, "select tbname from %s", metric);
|
||||
result = taos_query(taos, command);
|
||||
TAOS_RES* result = taos_query(taos, command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command %s, error: %s\n", command, taos_errstr(result));
|
||||
|
@ -928,7 +927,7 @@ int taosDumpTableData(FILE *fp, char *tbname, SDumpArguments *arguments) {
|
|||
sprintf(command, "select * from %s where _c0 >= %" PRId64 " and _c0 <= %" PRId64 " order by _c0 asc", tbname, arguments->start_time,
|
||||
arguments->end_time);
|
||||
|
||||
result = taos_query(taos, command);
|
||||
TAOS_RES* result = taos_query(taos, command);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0) {
|
||||
fprintf(stderr, "failed to run command %s, reason: %s\n", command, taos_errstr(result));
|
||||
|
@ -1177,9 +1176,13 @@ int taosDumpIn(SDumpArguments *arguments) {
|
|||
tcommand = command;
|
||||
}
|
||||
taosReplaceCtrlChar(tcommand);
|
||||
if (taos_query(taos, tcommand) == NULL)
|
||||
|
||||
TAOS_RES* result = taos_query(taos, tcommand);
|
||||
if (taos_errno(result) != 0){
|
||||
fprintf(stderr, "linenu: %" PRId64 " failed to run command %s reason:%s \ncontinue...\n", linenu, command,
|
||||
taos_errstr(taos));
|
||||
taos_errstr(result));
|
||||
taos_free_result(result);
|
||||
}
|
||||
|
||||
pstr = command;
|
||||
pstr[0] = '\0';
|
||||
|
@ -1225,12 +1228,12 @@ int taosDumpIn(SDumpArguments *arguments) {
|
|||
tcommand = command;
|
||||
}
|
||||
taosReplaceCtrlChar(tcommand);
|
||||
result = taos_query(taos, tcommand);
|
||||
TAOS_RES* result = taos_query(taos, tcommand);
|
||||
int32_t code = taos_errno(result);
|
||||
if (code != 0)
|
||||
{
|
||||
fprintf(stderr, "linenu:%" PRId64 " failed to run command %s reason: %s \ncontinue...\n", linenu, command,
|
||||
taos_errstr(taos));
|
||||
taos_errstr(result));
|
||||
}
|
||||
taos_free_result(result);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue