未验证 提交 3cb51e98 编写于 作者: sangshuduo's avatar sangshuduo 提交者: GitHub

Hotfix/sangshuduo/td 3316 testcase for taosdemo limit offset (#5462)

* [TD-3316] <fix>: add testcase for taosdemo limit and offset.

check offset 0.

* [TD-3316] <fix>: add testcase for taosdemo limit and offset.

fix sample file import bug.
上级 8e455df2
...@@ -4145,7 +4145,6 @@ static int generateDataBuffer(int32_t tableSeq, ...@@ -4145,7 +4145,6 @@ static int generateDataBuffer(int32_t tableSeq,
assert(buffer != NULL); assert(buffer != NULL);
char *pChildTblName; char *pChildTblName;
int childTblCount;
pChildTblName = calloc(TSDB_TABLE_NAME_LEN, 1); pChildTblName = calloc(TSDB_TABLE_NAME_LEN, 1);
if (NULL == pChildTblName) { if (NULL == pChildTblName) {
...@@ -4155,13 +4154,10 @@ static int generateDataBuffer(int32_t tableSeq, ...@@ -4155,13 +4154,10 @@ static int generateDataBuffer(int32_t tableSeq,
if (superTblInfo && (superTblInfo->childTblOffset >= 0) if (superTblInfo && (superTblInfo->childTblOffset >= 0)
&& (superTblInfo->childTblLimit > 0)) { && (superTblInfo->childTblLimit > 0)) {
// select tbname from stb limit 1 offset tableSeq snprintf(pChildTblName, TSDB_TABLE_NAME_LEN, "%s",
getChildNameOfSuperTableWithLimitAndOffset(pThreadInfo->taos, superTblInfo->childTblName + (tableSeq - superTblInfo->childTblOffset) * TSDB_TABLE_NAME_LEN);
pThreadInfo->db_name, superTblInfo->sTblName,
&pChildTblName, &childTblCount,
1, tableSeq);
} else { } else {
snprintf(pChildTblName, TSDB_TABLE_NAME_LEN, "%s%d", snprintf(pChildTblName, TSDB_TABLE_NAME_LEN, "%s%d",
superTblInfo?superTblInfo->childTblPrefix:g_args.tb_prefix, tableSeq); superTblInfo?superTblInfo->childTblPrefix:g_args.tb_prefix, tableSeq);
} }
...@@ -4577,10 +4573,40 @@ static void startMultiThreadInsertData(int threads, char* db_name, ...@@ -4577,10 +4573,40 @@ static void startMultiThreadInsertData(int threads, char* db_name,
// read sample data from file first // read sample data from file first
if ((superTblInfo) && (0 == strncasecmp(superTblInfo->dataSource, if ((superTblInfo) && (0 == strncasecmp(superTblInfo->dataSource,
"sample", strlen("sample")))) { "sample", strlen("sample")))) {
if (0 != prepareSampleDataForSTable(superTblInfo)) { if (0 != prepareSampleDataForSTable(superTblInfo)) {
fprintf(stderr, "prepare sample data for stable failed!\n"); fprintf(stderr, "prepare sample data for stable failed!\n");
exit(-1); exit(-1);
} }
}
if (superTblInfo && (superTblInfo->childTblOffset >= 0)
&& (superTblInfo->childTblLimit > 0)) {
TAOS* taos = taos_connect(
g_Dbs.host, g_Dbs.user,
g_Dbs.password, db_name, g_Dbs.port);
if (NULL == taos) {
fprintf(stderr, "connect to server fail , reason: %s\n",
taos_errstr(NULL));
exit(-1);
}
superTblInfo->childTblName = (char*)calloc(1,
superTblInfo->childTblLimit * TSDB_TABLE_NAME_LEN);
if (superTblInfo->childTblName == NULL) {
fprintf(stderr, "alloc memory failed!");
taos_close(taos);
exit(-1);
}
int childTblCount;
getChildNameOfSuperTableWithLimitAndOffset(
taos,
db_name, superTblInfo->sTblName,
&superTblInfo->childTblName, &childTblCount,
superTblInfo->childTblLimit,
superTblInfo->childTblOffset);
taos_close(taos);
} }
for (int i = 0; i < threads; i++) { for (int i = 0; i < threads; i++) {
...@@ -4618,7 +4644,6 @@ static void startMultiThreadInsertData(int threads, char* db_name, ...@@ -4618,7 +4644,6 @@ static void startMultiThreadInsertData(int threads, char* db_name,
t_info->start_time = t_info->start_time + rand_int() % 10000 - rand_tinyint(); t_info->start_time = t_info->start_time + rand_int() % 10000 - rand_tinyint();
} }
tsem_init(&(t_info->lock_sem), 0, 0); tsem_init(&(t_info->lock_sem), 0, 0);
if (SYNC == g_Dbs.queryMode) { if (SYNC == g_Dbs.queryMode) {
pthread_create(pids + i, NULL, syncWrite, t_info); pthread_create(pids + i, NULL, syncWrite, t_info);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册