diff --git a/utils/tsim/inc/simInt.h b/utils/tsim/inc/simInt.h index fb92c18a5a..02c7540cde 100644 --- a/utils/tsim/inc/simInt.h +++ b/utils/tsim/inc/simInt.h @@ -162,6 +162,7 @@ typedef struct _script_t { bool killed; void *taos; char rows[12]; // number of rows data retrieved + char cols[12]; // number of columns data retrieved char data[MAX_QUERY_ROW_NUM][MAX_QUERY_COL_NUM][MAX_QUERY_VALUE_LEN]; // query results char system_exit_code[12]; char system_ret_content[MAX_SYSTEM_RESULT_LEN]; diff --git a/utils/tsim/src/simExe.c b/utils/tsim/src/simExe.c index 4fd218bd14..ac17fad36b 100644 --- a/utils/tsim/src/simExe.c +++ b/utils/tsim/src/simExe.c @@ -93,6 +93,8 @@ char *simGetVariable(SScript *script, char *varName, int32_t varLen) { if (strncmp(varName, "rows", varLen) == 0) return script->rows; + if (strncmp(varName, "cols", varLen) == 0) return script->cols; + if (strncmp(varName, "system_exit", varLen) == 0) return script->system_exit_code; if (strncmp(varName, "system_content", varLen) == 0) return script->system_ret_content; @@ -828,6 +830,7 @@ bool simExecuteNativeSqlCommand(SScript *script, char *rest, bool isSlow) { taos_free_result(pSql); sprintf(script->rows, "%d", numOfRows); + sprintf(script->cols, "%d", num_fields); script->linePos++; return true; @@ -842,6 +845,7 @@ bool simExecuteSqlImpCmd(SScript *script, char *rest, bool isSlow) { simDebug("script:%s, exec:%s", script->fileName, rest); strcpy(script->rows, "-1"); + strcpy(script->cols, "-1"); for (int32_t row = 0; row < MAX_QUERY_ROW_NUM; ++row) { for (int32_t col = 0; col < MAX_QUERY_COL_NUM; ++col) { strcpy(script->data[row][col], "null"); @@ -938,6 +942,7 @@ bool simExecuteSqlErrorCmd(SScript *script, char *rest) { simDebug("script:%s, exec:%s", script->fileName, rest); strcpy(script->rows, "-1"); + strcpy(script->cols, "-1"); for (int32_t row = 0; row < MAX_QUERY_ROW_NUM; ++row) { for (int32_t col = 0; col < MAX_QUERY_COL_NUM; ++col) { strcpy(script->data[row][col], "null");