Hotfix/sangshuduo/td 3985 for develop (#6138)
* [TD-3985]<fix>: taosdemo timestamp step overflow. * fix specified subscribe test. * replace potential overflow of int32 to int64 * replace potential int32 overflow variables to int64. * replace potential int32 overflow variables to int64. * change max of int16 to int64 after type changed. * improve more. * improve more and more. Co-authored-by: Shuduo Sang <sdsang@taosdata.com>
This commit is contained in:
parent
6f6dab4d01
commit
a0f7116ce5
|
@ -212,8 +212,8 @@ typedef struct SArguments_S {
|
||||||
uint64_t interlace_rows;
|
uint64_t interlace_rows;
|
||||||
uint64_t num_of_RPR; // num_of_records_per_req
|
uint64_t num_of_RPR; // num_of_records_per_req
|
||||||
uint64_t max_sql_len;
|
uint64_t max_sql_len;
|
||||||
uint64_t num_of_tables;
|
int64_t num_of_tables;
|
||||||
uint64_t num_of_DPT;
|
int64_t num_of_DPT;
|
||||||
int abort;
|
int abort;
|
||||||
int disorderRatio; // 0: no disorder, >0: x%
|
int disorderRatio; // 0: no disorder, >0: x%
|
||||||
int disorderRange; // ms or us by database precision
|
int disorderRange; // ms or us by database precision
|
||||||
|
@ -249,7 +249,7 @@ typedef struct SSuperTable_S {
|
||||||
uint64_t maxSqlLen; //
|
uint64_t maxSqlLen; //
|
||||||
|
|
||||||
uint64_t insertInterval; // insert interval, will override global insert interval
|
uint64_t insertInterval; // insert interval, will override global insert interval
|
||||||
uint64_t insertRows;
|
int64_t insertRows;
|
||||||
int64_t timeStampStep;
|
int64_t timeStampStep;
|
||||||
char startTimestamp[MAX_TB_NAME_SIZE];
|
char startTimestamp[MAX_TB_NAME_SIZE];
|
||||||
char sampleFormat[MAX_TB_NAME_SIZE]; // csv, json
|
char sampleFormat[MAX_TB_NAME_SIZE]; // csv, json
|
||||||
|
@ -283,7 +283,7 @@ typedef struct SSuperTable_S {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char name[TSDB_DB_NAME_LEN + 1];
|
char name[TSDB_DB_NAME_LEN + 1];
|
||||||
char create_time[32];
|
char create_time[32];
|
||||||
int32_t ntables;
|
int64_t ntables;
|
||||||
int32_t vgroups;
|
int32_t vgroups;
|
||||||
int16_t replica;
|
int16_t replica;
|
||||||
int16_t quorum;
|
int16_t quorum;
|
||||||
|
@ -377,7 +377,7 @@ typedef struct SuperQueryInfo_S {
|
||||||
int subscribeRestart;
|
int subscribeRestart;
|
||||||
int subscribeKeepProgress;
|
int subscribeKeepProgress;
|
||||||
uint64_t queryTimes;
|
uint64_t queryTimes;
|
||||||
uint64_t childTblCount;
|
int64_t childTblCount;
|
||||||
char childTblPrefix[MAX_TB_NAME_SIZE];
|
char childTblPrefix[MAX_TB_NAME_SIZE];
|
||||||
uint64_t sqlCount;
|
uint64_t sqlCount;
|
||||||
char sql[MAX_QUERY_SQL_COUNT][MAX_QUERY_SQL_LENGTH+1];
|
char sql[MAX_QUERY_SQL_COUNT][MAX_QUERY_SQL_LENGTH+1];
|
||||||
|
@ -412,7 +412,7 @@ typedef struct SThreadInfo_S {
|
||||||
char tb_prefix[MAX_TB_NAME_SIZE];
|
char tb_prefix[MAX_TB_NAME_SIZE];
|
||||||
uint64_t start_table_from;
|
uint64_t start_table_from;
|
||||||
uint64_t end_table_to;
|
uint64_t end_table_to;
|
||||||
uint64_t ntables;
|
int64_t ntables;
|
||||||
uint64_t data_of_rate;
|
uint64_t data_of_rate;
|
||||||
int64_t start_time;
|
int64_t start_time;
|
||||||
char* cols;
|
char* cols;
|
||||||
|
@ -581,7 +581,7 @@ SArguments g_args = {
|
||||||
|
|
||||||
|
|
||||||
static SDbs g_Dbs;
|
static SDbs g_Dbs;
|
||||||
static int g_totalChildTables = 0;
|
static int64_t g_totalChildTables = 0;
|
||||||
static SQueryMetaInfo g_queryInfo;
|
static SQueryMetaInfo g_queryInfo;
|
||||||
static FILE * g_fpOfInsertResult = NULL;
|
static FILE * g_fpOfInsertResult = NULL;
|
||||||
|
|
||||||
|
@ -1015,9 +1015,9 @@ static void parse_args(int argc, char *argv[], SArguments *arguments) {
|
||||||
arguments->max_sql_len);
|
arguments->max_sql_len);
|
||||||
printf("# Length of Binary: %d\n", arguments->len_of_binary);
|
printf("# Length of Binary: %d\n", arguments->len_of_binary);
|
||||||
printf("# Number of Threads: %d\n", arguments->num_of_threads);
|
printf("# Number of Threads: %d\n", arguments->num_of_threads);
|
||||||
printf("# Number of Tables: %"PRIu64"\n",
|
printf("# Number of Tables: %"PRId64"\n",
|
||||||
arguments->num_of_tables);
|
arguments->num_of_tables);
|
||||||
printf("# Number of Data per Table: %"PRIu64"\n",
|
printf("# Number of Data per Table: %"PRId64"\n",
|
||||||
arguments->num_of_DPT);
|
arguments->num_of_DPT);
|
||||||
printf("# Database name: %s\n", arguments->database);
|
printf("# Database name: %s\n", arguments->database);
|
||||||
printf("# Table prefix: %s\n", arguments->tb_prefix);
|
printf("# Table prefix: %s\n", arguments->tb_prefix);
|
||||||
|
@ -1388,7 +1388,7 @@ static int printfInsertMeta() {
|
||||||
printf(" childTblExists: \033[33m%s\033[0m\n", "error");
|
printf(" childTblExists: \033[33m%s\033[0m\n", "error");
|
||||||
}
|
}
|
||||||
|
|
||||||
printf(" childTblCount: \033[33m%"PRIu64"\033[0m\n",
|
printf(" childTblCount: \033[33m%"PRId64"\033[0m\n",
|
||||||
g_Dbs.db[i].superTbls[j].childTblCount);
|
g_Dbs.db[i].superTbls[j].childTblCount);
|
||||||
printf(" childTblPrefix: \033[33m%s\033[0m\n",
|
printf(" childTblPrefix: \033[33m%s\033[0m\n",
|
||||||
g_Dbs.db[i].superTbls[j].childTblPrefix);
|
g_Dbs.db[i].superTbls[j].childTblPrefix);
|
||||||
|
@ -1404,7 +1404,7 @@ static int printfInsertMeta() {
|
||||||
printf(" childTblOffset: \033[33m%"PRIu64"\033[0m\n",
|
printf(" childTblOffset: \033[33m%"PRIu64"\033[0m\n",
|
||||||
g_Dbs.db[i].superTbls[j].childTblOffset);
|
g_Dbs.db[i].superTbls[j].childTblOffset);
|
||||||
}
|
}
|
||||||
printf(" insertRows: \033[33m%"PRIu64"\033[0m\n",
|
printf(" insertRows: \033[33m%"PRId64"\033[0m\n",
|
||||||
g_Dbs.db[i].superTbls[j].insertRows);
|
g_Dbs.db[i].superTbls[j].insertRows);
|
||||||
/*
|
/*
|
||||||
if (0 == g_Dbs.db[i].superTbls[j].multiThreadWriteOneTbl) {
|
if (0 == g_Dbs.db[i].superTbls[j].multiThreadWriteOneTbl) {
|
||||||
|
@ -1571,7 +1571,7 @@ static void printfInsertMetaToFile(FILE* fp) {
|
||||||
fprintf(fp, " childTblExists: %s\n", "error");
|
fprintf(fp, " childTblExists: %s\n", "error");
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(fp, " childTblCount: %"PRIu64"\n",
|
fprintf(fp, " childTblCount: %"PRId64"\n",
|
||||||
g_Dbs.db[i].superTbls[j].childTblCount);
|
g_Dbs.db[i].superTbls[j].childTblCount);
|
||||||
fprintf(fp, " childTblPrefix: %s\n",
|
fprintf(fp, " childTblPrefix: %s\n",
|
||||||
g_Dbs.db[i].superTbls[j].childTblPrefix);
|
g_Dbs.db[i].superTbls[j].childTblPrefix);
|
||||||
|
@ -1579,7 +1579,7 @@ static void printfInsertMetaToFile(FILE* fp) {
|
||||||
g_Dbs.db[i].superTbls[j].dataSource);
|
g_Dbs.db[i].superTbls[j].dataSource);
|
||||||
fprintf(fp, " insertMode: %s\n",
|
fprintf(fp, " insertMode: %s\n",
|
||||||
g_Dbs.db[i].superTbls[j].insertMode);
|
g_Dbs.db[i].superTbls[j].insertMode);
|
||||||
fprintf(fp, " insertRows: %"PRIu64"\n",
|
fprintf(fp, " insertRows: %"PRId64"\n",
|
||||||
g_Dbs.db[i].superTbls[j].insertRows);
|
g_Dbs.db[i].superTbls[j].insertRows);
|
||||||
fprintf(fp, " interlace rows: %"PRIu64"\n",
|
fprintf(fp, " interlace rows: %"PRIu64"\n",
|
||||||
g_Dbs.db[i].superTbls[j].interlaceRows);
|
g_Dbs.db[i].superTbls[j].interlaceRows);
|
||||||
|
@ -1697,7 +1697,7 @@ static void printfQueryMeta() {
|
||||||
g_queryInfo.superQueryInfo.queryInterval);
|
g_queryInfo.superQueryInfo.queryInterval);
|
||||||
printf("threadCnt: \033[33m%d\033[0m\n",
|
printf("threadCnt: \033[33m%d\033[0m\n",
|
||||||
g_queryInfo.superQueryInfo.threadCnt);
|
g_queryInfo.superQueryInfo.threadCnt);
|
||||||
printf("childTblCount: \033[33m%"PRIu64"\033[0m\n",
|
printf("childTblCount: \033[33m%"PRId64"\033[0m\n",
|
||||||
g_queryInfo.superQueryInfo.childTblCount);
|
g_queryInfo.superQueryInfo.childTblCount);
|
||||||
printf("stable name: \033[33m%s\033[0m\n",
|
printf("stable name: \033[33m%s\033[0m\n",
|
||||||
g_queryInfo.superQueryInfo.sTblName);
|
g_queryInfo.superQueryInfo.sTblName);
|
||||||
|
@ -1879,7 +1879,7 @@ static int getDbFromServer(TAOS * taos, SDbInfo** dbInfos) {
|
||||||
formatTimestamp(dbInfos[count]->create_time,
|
formatTimestamp(dbInfos[count]->create_time,
|
||||||
*(int64_t*)row[TSDB_SHOW_DB_CREATED_TIME_INDEX],
|
*(int64_t*)row[TSDB_SHOW_DB_CREATED_TIME_INDEX],
|
||||||
TSDB_TIME_PRECISION_MILLI);
|
TSDB_TIME_PRECISION_MILLI);
|
||||||
dbInfos[count]->ntables = *((int32_t *)row[TSDB_SHOW_DB_NTABLES_INDEX]);
|
dbInfos[count]->ntables = *((int64_t *)row[TSDB_SHOW_DB_NTABLES_INDEX]);
|
||||||
dbInfos[count]->vgroups = *((int32_t *)row[TSDB_SHOW_DB_VGROUPS_INDEX]);
|
dbInfos[count]->vgroups = *((int32_t *)row[TSDB_SHOW_DB_VGROUPS_INDEX]);
|
||||||
dbInfos[count]->replica = *((int16_t *)row[TSDB_SHOW_DB_REPLICA_INDEX]);
|
dbInfos[count]->replica = *((int16_t *)row[TSDB_SHOW_DB_REPLICA_INDEX]);
|
||||||
dbInfos[count]->quorum = *((int16_t *)row[TSDB_SHOW_DB_QUORUM_INDEX]);
|
dbInfos[count]->quorum = *((int16_t *)row[TSDB_SHOW_DB_QUORUM_INDEX]);
|
||||||
|
@ -1930,7 +1930,7 @@ static void printfDbInfoForQueryToFile(
|
||||||
fprintf(fp, "================ database[%d] ================\n", index);
|
fprintf(fp, "================ database[%d] ================\n", index);
|
||||||
fprintf(fp, "name: %s\n", dbInfos->name);
|
fprintf(fp, "name: %s\n", dbInfos->name);
|
||||||
fprintf(fp, "created_time: %s\n", dbInfos->create_time);
|
fprintf(fp, "created_time: %s\n", dbInfos->create_time);
|
||||||
fprintf(fp, "ntables: %d\n", dbInfos->ntables);
|
fprintf(fp, "ntables: %"PRId64"\n", dbInfos->ntables);
|
||||||
fprintf(fp, "vgroups: %d\n", dbInfos->vgroups);
|
fprintf(fp, "vgroups: %d\n", dbInfos->vgroups);
|
||||||
fprintf(fp, "replica: %d\n", dbInfos->replica);
|
fprintf(fp, "replica: %d\n", dbInfos->replica);
|
||||||
fprintf(fp, "quorum: %d\n", dbInfos->quorum);
|
fprintf(fp, "quorum: %d\n", dbInfos->quorum);
|
||||||
|
@ -2327,7 +2327,7 @@ static int calcRowLen(SSuperTable* superTbls) {
|
||||||
|
|
||||||
static int getChildNameOfSuperTableWithLimitAndOffset(TAOS * taos,
|
static int getChildNameOfSuperTableWithLimitAndOffset(TAOS * taos,
|
||||||
char* dbName, char* sTblName, char** childTblNameOfSuperTbl,
|
char* dbName, char* sTblName, char** childTblNameOfSuperTbl,
|
||||||
uint64_t* childTblCountOfSuperTbl, int64_t limit, uint64_t offset) {
|
int64_t* childTblCountOfSuperTbl, int64_t limit, uint64_t offset) {
|
||||||
|
|
||||||
char command[BUFFER_SIZE] = "\0";
|
char command[BUFFER_SIZE] = "\0";
|
||||||
char limitBuf[100] = "\0";
|
char limitBuf[100] = "\0";
|
||||||
|
@ -2356,8 +2356,8 @@ static int getChildNameOfSuperTableWithLimitAndOffset(TAOS * taos,
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int childTblCount = (limit < 0)?10000:limit;
|
int64_t childTblCount = (limit < 0)?10000:limit;
|
||||||
int count = 0;
|
int64_t count = 0;
|
||||||
if (childTblName == NULL) {
|
if (childTblName == NULL) {
|
||||||
childTblName = (char*)calloc(1, childTblCount * TSDB_TABLE_NAME_LEN);
|
childTblName = (char*)calloc(1, childTblCount * TSDB_TABLE_NAME_LEN);
|
||||||
if (NULL == childTblName) {
|
if (NULL == childTblName) {
|
||||||
|
@ -2404,7 +2404,7 @@ static int getChildNameOfSuperTableWithLimitAndOffset(TAOS * taos,
|
||||||
|
|
||||||
static int getAllChildNameOfSuperTable(TAOS * taos, char* dbName,
|
static int getAllChildNameOfSuperTable(TAOS * taos, char* dbName,
|
||||||
char* sTblName, char** childTblNameOfSuperTbl,
|
char* sTblName, char** childTblNameOfSuperTbl,
|
||||||
uint64_t* childTblCountOfSuperTbl) {
|
int64_t* childTblCountOfSuperTbl) {
|
||||||
|
|
||||||
return getChildNameOfSuperTableWithLimitAndOffset(taos, dbName, sTblName,
|
return getChildNameOfSuperTableWithLimitAndOffset(taos, dbName, sTblName,
|
||||||
childTblNameOfSuperTbl, childTblCountOfSuperTbl,
|
childTblNameOfSuperTbl, childTblCountOfSuperTbl,
|
||||||
|
@ -2884,7 +2884,7 @@ static void* createTable(void *sarg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int startMultiThreadCreateChildTable(
|
static int startMultiThreadCreateChildTable(
|
||||||
char* cols, int threads, uint64_t startFrom, uint64_t ntables,
|
char* cols, int threads, uint64_t startFrom, int64_t ntables,
|
||||||
char* db_name, SSuperTable* superTblInfo) {
|
char* db_name, SSuperTable* superTblInfo) {
|
||||||
|
|
||||||
pthread_t *pids = malloc(threads * sizeof(pthread_t));
|
pthread_t *pids = malloc(threads * sizeof(pthread_t));
|
||||||
|
@ -2899,13 +2899,13 @@ static int startMultiThreadCreateChildTable(
|
||||||
threads = 1;
|
threads = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t a = ntables / threads;
|
int64_t a = ntables / threads;
|
||||||
if (a < 1) {
|
if (a < 1) {
|
||||||
threads = ntables;
|
threads = ntables;
|
||||||
a = 1;
|
a = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t b = 0;
|
int64_t b = 0;
|
||||||
b = ntables % threads;
|
b = ntables % threads;
|
||||||
|
|
||||||
for (int64_t i = 0; i < threads; i++) {
|
for (int64_t i = 0; i < threads; i++) {
|
||||||
|
@ -2969,10 +2969,10 @@ static void createChildTables() {
|
||||||
|
|
||||||
verbosePrint("%s() LN%d: %s\n", __func__, __LINE__,
|
verbosePrint("%s() LN%d: %s\n", __func__, __LINE__,
|
||||||
g_Dbs.db[i].superTbls[j].colsOfCreateChildTable);
|
g_Dbs.db[i].superTbls[j].colsOfCreateChildTable);
|
||||||
int startFrom = 0;
|
uint64_t startFrom = 0;
|
||||||
g_totalChildTables += g_Dbs.db[i].superTbls[j].childTblCount;
|
g_totalChildTables += g_Dbs.db[i].superTbls[j].childTblCount;
|
||||||
|
|
||||||
verbosePrint("%s() LN%d: create %d child tables from %d\n",
|
verbosePrint("%s() LN%d: create %"PRId64" child tables from %"PRIu64"\n",
|
||||||
__func__, __LINE__, g_totalChildTables, startFrom);
|
__func__, __LINE__, g_totalChildTables, startFrom);
|
||||||
startMultiThreadCreateChildTable(
|
startMultiThreadCreateChildTable(
|
||||||
g_Dbs.db[i].superTbls[j].colsOfCreateChildTable,
|
g_Dbs.db[i].superTbls[j].colsOfCreateChildTable,
|
||||||
|
@ -3000,7 +3000,7 @@ static void createChildTables() {
|
||||||
|
|
||||||
snprintf(tblColsBuf + len, MAX_SQL_SIZE - len, ")");
|
snprintf(tblColsBuf + len, MAX_SQL_SIZE - len, ")");
|
||||||
|
|
||||||
verbosePrint("%s() LN%d: dbName: %s num of tb: %"PRIu64" schema: %s\n",
|
verbosePrint("%s() LN%d: dbName: %s num of tb: %"PRId64" schema: %s\n",
|
||||||
__func__, __LINE__,
|
__func__, __LINE__,
|
||||||
g_Dbs.db[i].dbName, g_args.num_of_tables, tblColsBuf);
|
g_Dbs.db[i].dbName, g_args.num_of_tables, tblColsBuf);
|
||||||
startMultiThreadCreateChildTable(
|
startMultiThreadCreateChildTable(
|
||||||
|
@ -4756,7 +4756,7 @@ static void getTableName(char *pTblName, threadInfo* pThreadInfo, uint64_t table
|
||||||
(tableSeq - superTblInfo->childTblOffset) * TSDB_TABLE_NAME_LEN);
|
(tableSeq - superTblInfo->childTblOffset) * TSDB_TABLE_NAME_LEN);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
verbosePrint("[%d] %s() LN%d: from=%"PRIu64" count=%"PRIu64" seq=%"PRIu64"\n",
|
verbosePrint("[%d] %s() LN%d: from=%"PRIu64" count=%"PRId64" seq=%"PRIu64"\n",
|
||||||
pThreadInfo->threadID, __func__, __LINE__,
|
pThreadInfo->threadID, __func__, __LINE__,
|
||||||
pThreadInfo->start_table_from,
|
pThreadInfo->start_table_from,
|
||||||
pThreadInfo->ntables, tableSeq);
|
pThreadInfo->ntables, tableSeq);
|
||||||
|
@ -4772,7 +4772,7 @@ static void getTableName(char *pTblName, threadInfo* pThreadInfo, uint64_t table
|
||||||
static int64_t generateDataTail(
|
static int64_t generateDataTail(
|
||||||
SSuperTable* superTblInfo,
|
SSuperTable* superTblInfo,
|
||||||
uint64_t batch, char* buffer, int64_t remainderBufLen, int64_t insertRows,
|
uint64_t batch, char* buffer, int64_t remainderBufLen, int64_t insertRows,
|
||||||
int64_t startFrom, int64_t startTime, int64_t *pSamplePos, int64_t *dataLen) {
|
uint64_t startFrom, int64_t startTime, int64_t *pSamplePos, int64_t *dataLen) {
|
||||||
uint64_t len = 0;
|
uint64_t len = 0;
|
||||||
uint32_t ncols_per_record = 1; // count first col ts
|
uint32_t ncols_per_record = 1; // count first col ts
|
||||||
|
|
||||||
|
@ -4948,7 +4948,7 @@ static int64_t generateInterlaceDataBuffer(
|
||||||
char *tableName, uint64_t batchPerTbl, uint64_t i, uint64_t batchPerTblTimes,
|
char *tableName, uint64_t batchPerTbl, uint64_t i, uint64_t batchPerTblTimes,
|
||||||
uint64_t tableSeq,
|
uint64_t tableSeq,
|
||||||
threadInfo *pThreadInfo, char *buffer,
|
threadInfo *pThreadInfo, char *buffer,
|
||||||
uint64_t insertRows,
|
int64_t insertRows,
|
||||||
int64_t startTime,
|
int64_t startTime,
|
||||||
uint64_t *pRemainderBufLen)
|
uint64_t *pRemainderBufLen)
|
||||||
{
|
{
|
||||||
|
@ -5008,7 +5008,7 @@ static int64_t generateProgressiveDataBuffer(
|
||||||
int64_t tableSeq,
|
int64_t tableSeq,
|
||||||
threadInfo *pThreadInfo, char *buffer,
|
threadInfo *pThreadInfo, char *buffer,
|
||||||
int64_t insertRows,
|
int64_t insertRows,
|
||||||
int64_t startFrom, int64_t startTime, int64_t *pSamplePos,
|
uint64_t startFrom, int64_t startTime, int64_t *pSamplePos,
|
||||||
int64_t *pRemainderBufLen)
|
int64_t *pRemainderBufLen)
|
||||||
{
|
{
|
||||||
SSuperTable* superTblInfo = pThreadInfo->superTblInfo;
|
SSuperTable* superTblInfo = pThreadInfo->superTblInfo;
|
||||||
|
@ -5061,7 +5061,7 @@ static void* syncWriteInterlace(threadInfo *pThreadInfo) {
|
||||||
debugPrint("[%d] %s() LN%d: ### interlace write\n",
|
debugPrint("[%d] %s() LN%d: ### interlace write\n",
|
||||||
pThreadInfo->threadID, __func__, __LINE__);
|
pThreadInfo->threadID, __func__, __LINE__);
|
||||||
|
|
||||||
uint64_t insertRows;
|
int64_t insertRows;
|
||||||
uint64_t interlaceRows;
|
uint64_t interlaceRows;
|
||||||
|
|
||||||
SSuperTable* superTblInfo = pThreadInfo->superTblInfo;
|
SSuperTable* superTblInfo = pThreadInfo->superTblInfo;
|
||||||
|
@ -5123,14 +5123,12 @@ static void* syncWriteInterlace(threadInfo *pThreadInfo) {
|
||||||
|
|
||||||
uint64_t tableSeq = pThreadInfo->start_table_from;
|
uint64_t tableSeq = pThreadInfo->start_table_from;
|
||||||
|
|
||||||
debugPrint("[%d] %s() LN%d: start_table_from=%"PRIu64" ntables=%"PRIu64" insertRows=%"PRIu64"\n",
|
debugPrint("[%d] %s() LN%d: start_table_from=%"PRIu64" ntables=%"PRId64" insertRows=%"PRIu64"\n",
|
||||||
pThreadInfo->threadID, __func__, __LINE__, pThreadInfo->start_table_from,
|
pThreadInfo->threadID, __func__, __LINE__, pThreadInfo->start_table_from,
|
||||||
pThreadInfo->ntables, insertRows);
|
pThreadInfo->ntables, insertRows);
|
||||||
|
|
||||||
int64_t startTime = pThreadInfo->start_time;
|
int64_t startTime = pThreadInfo->start_time;
|
||||||
|
|
||||||
assert(pThreadInfo->ntables > 0);
|
|
||||||
|
|
||||||
uint64_t batchPerTbl = interlaceRows;
|
uint64_t batchPerTbl = interlaceRows;
|
||||||
uint64_t batchPerTblTimes;
|
uint64_t batchPerTblTimes;
|
||||||
|
|
||||||
|
@ -5343,7 +5341,7 @@ static void* syncWriteProgressive(threadInfo *pThreadInfo) {
|
||||||
tableSeq ++) {
|
tableSeq ++) {
|
||||||
int64_t start_time = pThreadInfo->start_time;
|
int64_t start_time = pThreadInfo->start_time;
|
||||||
|
|
||||||
uint64_t insertRows = (superTblInfo)?superTblInfo->insertRows:g_args.num_of_DPT;
|
int64_t insertRows = (superTblInfo)?superTblInfo->insertRows:g_args.num_of_DPT;
|
||||||
verbosePrint("%s() LN%d insertRows=%"PRId64"\n", __func__, __LINE__, insertRows);
|
verbosePrint("%s() LN%d insertRows=%"PRId64"\n", __func__, __LINE__, insertRows);
|
||||||
|
|
||||||
for (uint64_t i = 0; i < insertRows;) {
|
for (uint64_t i = 0; i < insertRows;) {
|
||||||
|
@ -5659,8 +5657,8 @@ static void startMultiThreadInsertData(int threads, char* db_name,
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ntables = 0;
|
int64_t ntables = 0;
|
||||||
int startFrom;
|
uint64_t startFrom;
|
||||||
|
|
||||||
if (superTblInfo) {
|
if (superTblInfo) {
|
||||||
int64_t limit;
|
int64_t limit;
|
||||||
|
@ -5716,7 +5714,7 @@ static void startMultiThreadInsertData(int threads, char* db_name,
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t childTblCount;
|
int64_t childTblCount;
|
||||||
getChildNameOfSuperTableWithLimitAndOffset(
|
getChildNameOfSuperTableWithLimitAndOffset(
|
||||||
taos,
|
taos,
|
||||||
db_name, superTblInfo->sTblName,
|
db_name, superTblInfo->sTblName,
|
||||||
|
@ -5730,13 +5728,13 @@ static void startMultiThreadInsertData(int threads, char* db_name,
|
||||||
|
|
||||||
taos_close(taos);
|
taos_close(taos);
|
||||||
|
|
||||||
uint64_t a = ntables / threads;
|
int64_t a = ntables / threads;
|
||||||
if (a < 1) {
|
if (a < 1) {
|
||||||
threads = ntables;
|
threads = ntables;
|
||||||
a = 1;
|
a = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t b = 0;
|
int64_t b = 0;
|
||||||
if (threads != 0) {
|
if (threads != 0) {
|
||||||
b = ntables % threads;
|
b = ntables % threads;
|
||||||
}
|
}
|
||||||
|
@ -5892,7 +5890,7 @@ static void *readTable(void *sarg) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int num_of_DPT;
|
int64_t num_of_DPT;
|
||||||
/* if (rinfo->superTblInfo) {
|
/* if (rinfo->superTblInfo) {
|
||||||
num_of_DPT = rinfo->superTblInfo->insertRows; // nrecords_per_table;
|
num_of_DPT = rinfo->superTblInfo->insertRows; // nrecords_per_table;
|
||||||
} else {
|
} else {
|
||||||
|
@ -5900,22 +5898,22 @@ static void *readTable(void *sarg) {
|
||||||
num_of_DPT = g_args.num_of_DPT;
|
num_of_DPT = g_args.num_of_DPT;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
int num_of_tables = rinfo->ntables; // rinfo->end_table_to - rinfo->start_table_from + 1;
|
int64_t num_of_tables = rinfo->ntables; // rinfo->end_table_to - rinfo->start_table_from + 1;
|
||||||
int totalData = num_of_DPT * num_of_tables;
|
int64_t totalData = num_of_DPT * num_of_tables;
|
||||||
bool do_aggreFunc = g_Dbs.do_aggreFunc;
|
bool do_aggreFunc = g_Dbs.do_aggreFunc;
|
||||||
|
|
||||||
int n = do_aggreFunc ? (sizeof(aggreFunc) / sizeof(aggreFunc[0])) : 2;
|
int n = do_aggreFunc ? (sizeof(aggreFunc) / sizeof(aggreFunc[0])) : 2;
|
||||||
if (!do_aggreFunc) {
|
if (!do_aggreFunc) {
|
||||||
printf("\nThe first field is either Binary or Bool. Aggregation functions are not supported.\n");
|
printf("\nThe first field is either Binary or Bool. Aggregation functions are not supported.\n");
|
||||||
}
|
}
|
||||||
printf("%d records:\n", totalData);
|
printf("%"PRId64" records:\n", totalData);
|
||||||
fprintf(fp, "| QFunctions | QRecords | QSpeed(R/s) | QLatency(ms) |\n");
|
fprintf(fp, "| QFunctions | QRecords | QSpeed(R/s) | QLatency(ms) |\n");
|
||||||
|
|
||||||
for (uint64_t j = 0; j < n; j++) {
|
for (int j = 0; j < n; j++) {
|
||||||
double totalT = 0;
|
double totalT = 0;
|
||||||
uint64_t count = 0;
|
uint64_t count = 0;
|
||||||
for (uint64_t i = 0; i < num_of_tables; i++) {
|
for (int64_t i = 0; i < num_of_tables; i++) {
|
||||||
sprintf(command, "select %s from %s%"PRIu64" where ts>= %" PRIu64,
|
sprintf(command, "select %s from %s%"PRId64" where ts>= %" PRIu64,
|
||||||
aggreFunc[j], tb_prefix, i, sTime);
|
aggreFunc[j], tb_prefix, i, sTime);
|
||||||
|
|
||||||
double t = taosGetTimestampMs();
|
double t = taosGetTimestampMs();
|
||||||
|
@ -5940,7 +5938,7 @@ static void *readTable(void *sarg) {
|
||||||
taos_free_result(pSql);
|
taos_free_result(pSql);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(fp, "|%10s | %10d | %12.2f | %10.2f |\n",
|
fprintf(fp, "|%10s | %"PRId64" | %12.2f | %10.2f |\n",
|
||||||
aggreFunc[j][0] == '*' ? " * " : aggreFunc[j], totalData,
|
aggreFunc[j][0] == '*' ? " * " : aggreFunc[j], totalData,
|
||||||
(double)(num_of_tables * num_of_DPT) / totalT, totalT * 1000);
|
(double)(num_of_tables * num_of_DPT) / totalT, totalT * 1000);
|
||||||
printf("select %10s took %.6f second(s)\n", aggreFunc[j], totalT * 1000);
|
printf("select %10s took %.6f second(s)\n", aggreFunc[j], totalT * 1000);
|
||||||
|
@ -5962,29 +5960,29 @@ static void *readMetric(void *sarg) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int num_of_DPT = rinfo->superTblInfo->insertRows;
|
int64_t num_of_DPT = rinfo->superTblInfo->insertRows;
|
||||||
int num_of_tables = rinfo->ntables; // rinfo->end_table_to - rinfo->start_table_from + 1;
|
int64_t num_of_tables = rinfo->ntables; // rinfo->end_table_to - rinfo->start_table_from + 1;
|
||||||
int totalData = num_of_DPT * num_of_tables;
|
int64_t totalData = num_of_DPT * num_of_tables;
|
||||||
bool do_aggreFunc = g_Dbs.do_aggreFunc;
|
bool do_aggreFunc = g_Dbs.do_aggreFunc;
|
||||||
|
|
||||||
int n = do_aggreFunc ? (sizeof(aggreFunc) / sizeof(aggreFunc[0])) : 2;
|
int n = do_aggreFunc ? (sizeof(aggreFunc) / sizeof(aggreFunc[0])) : 2;
|
||||||
if (!do_aggreFunc) {
|
if (!do_aggreFunc) {
|
||||||
printf("\nThe first field is either Binary or Bool. Aggregation functions are not supported.\n");
|
printf("\nThe first field is either Binary or Bool. Aggregation functions are not supported.\n");
|
||||||
}
|
}
|
||||||
printf("%d records:\n", totalData);
|
printf("%"PRId64" records:\n", totalData);
|
||||||
fprintf(fp, "Querying On %d records:\n", totalData);
|
fprintf(fp, "Querying On %"PRId64" records:\n", totalData);
|
||||||
|
|
||||||
for (int j = 0; j < n; j++) {
|
for (int j = 0; j < n; j++) {
|
||||||
char condition[COND_BUF_LEN] = "\0";
|
char condition[COND_BUF_LEN] = "\0";
|
||||||
char tempS[64] = "\0";
|
char tempS[64] = "\0";
|
||||||
|
|
||||||
int m = 10 < num_of_tables ? 10 : num_of_tables;
|
int64_t m = 10 < num_of_tables ? 10 : num_of_tables;
|
||||||
|
|
||||||
for (int i = 1; i <= m; i++) {
|
for (int64_t i = 1; i <= m; i++) {
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
sprintf(tempS, "t1 = %d", i);
|
sprintf(tempS, "t1 = %"PRId64"", i);
|
||||||
} else {
|
} else {
|
||||||
sprintf(tempS, " or t1 = %d ", i);
|
sprintf(tempS, " or t1 = %"PRId64" ", i);
|
||||||
}
|
}
|
||||||
strncat(condition, tempS, COND_BUF_LEN - 1);
|
strncat(condition, tempS, COND_BUF_LEN - 1);
|
||||||
|
|
||||||
|
@ -6070,11 +6068,11 @@ static int insertTestProcess() {
|
||||||
end = taosGetTimestampMs();
|
end = taosGetTimestampMs();
|
||||||
|
|
||||||
if (g_totalChildTables > 0) {
|
if (g_totalChildTables > 0) {
|
||||||
fprintf(stderr, "Spent %.4f seconds to create %d tables with %d thread(s)\n\n",
|
fprintf(stderr, "Spent %.4f seconds to create %"PRId64" tables with %d thread(s)\n\n",
|
||||||
(end - start)/1000.0, g_totalChildTables, g_Dbs.threadCountByCreateTbl);
|
(end - start)/1000.0, g_totalChildTables, g_Dbs.threadCountByCreateTbl);
|
||||||
if (g_fpOfInsertResult) {
|
if (g_fpOfInsertResult) {
|
||||||
fprintf(g_fpOfInsertResult,
|
fprintf(g_fpOfInsertResult,
|
||||||
"Spent %.4f seconds to create %d tables with %d thread(s)\n\n",
|
"Spent %.4f seconds to create %"PRId64" tables with %d thread(s)\n\n",
|
||||||
(end - start)/1000.0, g_totalChildTables, g_Dbs.threadCountByCreateTbl);
|
(end - start)/1000.0, g_totalChildTables, g_Dbs.threadCountByCreateTbl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6400,16 +6398,16 @@ static int queryTestProcess() {
|
||||||
ERROR_EXIT("memory allocation failed for create threads\n");
|
ERROR_EXIT("memory allocation failed for create threads\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t ntables = g_queryInfo.superQueryInfo.childTblCount;
|
int64_t ntables = g_queryInfo.superQueryInfo.childTblCount;
|
||||||
int threads = g_queryInfo.superQueryInfo.threadCnt;
|
int threads = g_queryInfo.superQueryInfo.threadCnt;
|
||||||
|
|
||||||
uint64_t a = ntables / threads;
|
int64_t a = ntables / threads;
|
||||||
if (a < 1) {
|
if (a < 1) {
|
||||||
threads = ntables;
|
threads = ntables;
|
||||||
a = 1;
|
a = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t b = 0;
|
int64_t b = 0;
|
||||||
if (threads != 0) {
|
if (threads != 0) {
|
||||||
b = ntables % threads;
|
b = ntables % threads;
|
||||||
}
|
}
|
||||||
|
@ -6748,16 +6746,16 @@ static int subscribeTestProcess() {
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t ntables = g_queryInfo.superQueryInfo.childTblCount;
|
int64_t ntables = g_queryInfo.superQueryInfo.childTblCount;
|
||||||
int threads = g_queryInfo.superQueryInfo.threadCnt;
|
int threads = g_queryInfo.superQueryInfo.threadCnt;
|
||||||
|
|
||||||
uint64_t a = ntables / threads;
|
int64_t a = ntables / threads;
|
||||||
if (a < 1) {
|
if (a < 1) {
|
||||||
threads = ntables;
|
threads = ntables;
|
||||||
a = 1;
|
a = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t b = 0;
|
int64_t b = 0;
|
||||||
if (threads != 0) {
|
if (threads != 0) {
|
||||||
b = ntables % threads;
|
b = ntables % threads;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue