Feature/sangshuduo/td 4068 taosdemo stmt (#7019)
* merge with develop branch. change query/tests/CMakeLists.txt to allow unused function and variable. * refactor data generating. * refactor. * refactor. * refactor. * refactor. * refactor * add prepare stmt function. * refactor get rand timestamp. * fix windows compile error. * copy logic of generate data for stmt. * insert data basically works now. * fix windows compile issue. * [TD-4068]<feature>: taosdemo stmt interface. stb batch insert works. * [TD-4068]<feature>: taosdemo support stmt. normal table insert works. * [TD-4068]<feature>: taosdemo support stmt. interlace write works. * add compile macro to make taosdemo same with master branch. * fix clang compile error. * fix memory leak. * add more macro. * fix rest segfault. * add stmt_errstr() for reason print. Co-authored-by: Shuduo Sang <sdsang@taosdata.com>
This commit is contained in:
parent
677451536e
commit
ac1e16787d
|
@ -5154,8 +5154,8 @@ static int32_t execInsert(threadInfo *pThreadInfo, uint32_t k)
|
|||
debugPrint("%s() LN%d, stmt=%p",
|
||||
__func__, __LINE__, pThreadInfo->stmt);
|
||||
if (0 != taos_stmt_execute(pThreadInfo->stmt)) {
|
||||
errorPrint("%s() LN%d, failied to execute insert statement\n",
|
||||
__func__, __LINE__);
|
||||
errorPrint("%s() LN%d, failied to execute insert statement. reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(pThreadInfo->stmt));
|
||||
exit(-1);
|
||||
}
|
||||
affectedRows = k;
|
||||
|
@ -5718,7 +5718,7 @@ static int32_t prepareStmtWithoutStb(
|
|||
int ret = taos_stmt_set_tbname(stmt, tableName);
|
||||
if (ret != 0) {
|
||||
errorPrint("failed to execute taos_stmt_set_tbname(%s). return 0x%x. reason: %s\n",
|
||||
tableName, ret, taos_errstr(NULL));
|
||||
tableName, ret, taos_stmt_errstr(stmt));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -5771,9 +5771,17 @@ static int32_t prepareStmtWithoutStb(
|
|||
return -1;
|
||||
}
|
||||
}
|
||||
taos_stmt_bind_param(stmt, (TAOS_BIND *)bindArray);
|
||||
if (0 != taos_stmt_bind_param(stmt, (TAOS_BIND *)bindArray)) {
|
||||
errorPrint("%s() LN%d, stmt_bind_param() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
break;
|
||||
}
|
||||
// if msg > 3MB, break
|
||||
taos_stmt_add_batch(stmt);
|
||||
if (0 != taos_stmt_add_batch(stmt)) {
|
||||
errorPrint("%s() LN%d, stmt_add_batch() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
break;
|
||||
}
|
||||
|
||||
k++;
|
||||
recordFrom ++;
|
||||
|
@ -5949,14 +5957,19 @@ static int32_t prepareStbStmt(
|
|||
|
||||
tmfree(tagsValBuf);
|
||||
tmfree(tagsArray);
|
||||
|
||||
if (0 != ret) {
|
||||
errorPrint("%s() LN%d, stmt_set_tbname_tags() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
ret = taos_stmt_set_tbname(stmt, tableName);
|
||||
}
|
||||
|
||||
if (ret != 0) {
|
||||
errorPrint("failed to execute taos_stmt_set_tbname(%s). return 0x%x. reason: %s\n",
|
||||
tableName, ret, taos_errstr(NULL));
|
||||
return ret;
|
||||
if (0 != ret) {
|
||||
errorPrint("%s() LN%d, stmt_set_tbname() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
char *bindArray = calloc(1, sizeof(TAOS_BIND) * (stbInfo->columnCount + 1));
|
||||
|
@ -5974,9 +5987,19 @@ static int32_t prepareStbStmt(
|
|||
free(bindArray);
|
||||
return -1;
|
||||
}
|
||||
taos_stmt_bind_param(stmt, (TAOS_BIND *)bindArray);
|
||||
ret = taos_stmt_bind_param(stmt, (TAOS_BIND *)bindArray);
|
||||
if (0 != ret) {
|
||||
errorPrint("%s() LN%d, stmt_bind_param() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
return -1;
|
||||
}
|
||||
// if msg > 3MB, break
|
||||
taos_stmt_add_batch(stmt);
|
||||
ret = taos_stmt_add_batch(stmt);
|
||||
if (0 != ret) {
|
||||
errorPrint("%s() LN%d, stmt_add_batch() failed! reason: %s\n",
|
||||
__func__, __LINE__, taos_stmt_errstr(stmt));
|
||||
return -1;
|
||||
}
|
||||
|
||||
k++;
|
||||
recordFrom ++;
|
||||
|
@ -6925,7 +6948,7 @@ static void startMultiThreadInsertData(int threads, char* db_name,
|
|||
int ret = taos_stmt_prepare(pThreadInfo->stmt, buffer, 0);
|
||||
if (ret != 0){
|
||||
errorPrint("failed to execute taos_stmt_prepare. return 0x%x. reason: %s\n",
|
||||
ret, taos_errstr(NULL));
|
||||
ret, taos_stmt_errstr(pThreadInfo->stmt));
|
||||
free(pids);
|
||||
free(infos);
|
||||
exit(-1);
|
||||
|
|
Loading…
Reference in New Issue