Merge pull request #9756 from taosdata/feature/3.0_liaohj
[td-11818] fix memory leak.
This commit is contained in:
commit
30d80cf6fa
|
@ -279,7 +279,7 @@ TEST(testCase, connect_Test) {
|
|||
// taos_free_result(pRes);
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
//
|
||||
|
||||
//TEST(testCase, create_table_Test) {
|
||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
// assert(pConn != NULL);
|
||||
|
@ -292,26 +292,26 @@ TEST(testCase, connect_Test) {
|
|||
//
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
//
|
||||
//TEST(testCase, create_ctable_Test) {
|
||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
// assert(pConn != NULL);
|
||||
//
|
||||
// TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
||||
// if (taos_errno(pRes) != 0) {
|
||||
// printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
||||
// }
|
||||
// taos_free_result(pRes);
|
||||
//
|
||||
// pRes = taos_query(pConn, "create table tm0 using st1 tags(1)");
|
||||
// if (taos_errno(pRes) != 0) {
|
||||
// printf("failed to create child table tm0, reason:%s\n", taos_errstr(pRes));
|
||||
// }
|
||||
//
|
||||
// taos_free_result(pRes);
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
//
|
||||
|
||||
TEST(testCase, create_ctable_Test) {
|
||||
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
assert(pConn != NULL);
|
||||
|
||||
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
||||
if (taos_errno(pRes) != 0) {
|
||||
printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
||||
}
|
||||
taos_free_result(pRes);
|
||||
|
||||
pRes = taos_query(pConn, "create table tm0 using st1 tags(1)");
|
||||
if (taos_errno(pRes) != 0) {
|
||||
printf("failed to create child table tm0, reason:%s\n", taos_errstr(pRes));
|
||||
}
|
||||
|
||||
taos_free_result(pRes);
|
||||
taos_close(pConn);
|
||||
}
|
||||
|
||||
//TEST(testCase, show_stable_Test) {
|
||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
// assert(pConn != NULL);
|
||||
|
@ -533,6 +533,7 @@ TEST(testCase, connect_Test) {
|
|||
// tmq_create_topic(pConn, "test_topic_1", sql, strlen(sql));
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
|
||||
//TEST(testCase, insert_test) {
|
||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
// ASSERT_EQ(pConn, nullptr);
|
||||
|
@ -550,49 +551,48 @@ TEST(testCase, connect_Test) {
|
|||
// taos_free_result(pRes);
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
//#endif
|
||||
|
||||
TEST(testCase, projection_query_tables) {
|
||||
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
ASSERT_NE(pConn, nullptr);
|
||||
|
||||
// TAOS_RES* pRes = taos_query(pConn, "create database abc1 vgroups 2");
|
||||
//TEST(testCase, projection_query_tables) {
|
||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||
// ASSERT_NE(pConn, nullptr);
|
||||
//
|
||||
//// TAOS_RES* pRes = taos_query(pConn, "create database abc1 vgroups 2");
|
||||
//// if (taos_errno(pRes) != 0) {
|
||||
//// printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
||||
//// taos_free_result(pRes);
|
||||
//// return;
|
||||
//// }
|
||||
//
|
||||
//// taos_free_result(pRes);
|
||||
//
|
||||
// TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
||||
//
|
||||
//// pRes = taos_query(pConn, "create table m1 (ts timestamp, k int) tags(a int)");
|
||||
// taos_free_result(pRes);
|
||||
////
|
||||
//// pRes = taos_query(pConn, "create table tu using m1 tags(1)");
|
||||
//// taos_free_result(pRes);
|
||||
////
|
||||
//// pRes = taos_query(pConn, "insert into tu values(now, 1)");
|
||||
//// taos_free_result(pRes);
|
||||
//
|
||||
// pRes = taos_query(pConn, "select * from tu");
|
||||
// if (taos_errno(pRes) != 0) {
|
||||
// printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
||||
// printf("failed to select from table, reason:%s\n", taos_errstr(pRes));
|
||||
// taos_free_result(pRes);
|
||||
// return;
|
||||
// ASSERT_TRUE(false);
|
||||
// }
|
||||
|
||||
// taos_free_result(pRes);
|
||||
|
||||
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
||||
|
||||
// pRes = taos_query(pConn, "create table m1 (ts timestamp, k int) tags(a int)");
|
||||
taos_free_result(pRes);
|
||||
//
|
||||
// pRes = taos_query(pConn, "create table tu using m1 tags(1)");
|
||||
// taos_free_result(pRes);
|
||||
// TAOS_ROW pRow = NULL;
|
||||
// TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
||||
// int32_t numOfFields = taos_num_fields(pRes);
|
||||
//
|
||||
// char str[512] = {0};
|
||||
// while ((pRow = taos_fetch_row(pRes)) != NULL) {
|
||||
// int32_t code = taos_print_row(str, pRow, pFields, numOfFields);
|
||||
// printf("%s\n", str);
|
||||
// }
|
||||
//
|
||||
// pRes = taos_query(pConn, "insert into tu values(now, 1)");
|
||||
// taos_free_result(pRes);
|
||||
|
||||
pRes = taos_query(pConn, "select * from tu");
|
||||
if (taos_errno(pRes) != 0) {
|
||||
printf("failed to select from table, reason:%s\n", taos_errstr(pRes));
|
||||
taos_free_result(pRes);
|
||||
ASSERT_TRUE(false);
|
||||
}
|
||||
|
||||
TAOS_ROW pRow = NULL;
|
||||
TAOS_FIELD* pFields = taos_fetch_fields(pRes);
|
||||
int32_t numOfFields = taos_num_fields(pRes);
|
||||
|
||||
char str[512] = {0};
|
||||
while ((pRow = taos_fetch_row(pRes)) != NULL) {
|
||||
int32_t code = taos_print_row(str, pRow, pFields, numOfFields);
|
||||
printf("%s\n", str);
|
||||
}
|
||||
|
||||
taos_free_result(pRes);
|
||||
taos_close(pConn);
|
||||
}
|
||||
// taos_close(pConn);
|
||||
//}
|
||||
|
|
|
@ -38,10 +38,10 @@ int32_t optimizeQueryPlan(struct SQueryPlanNode* pQueryNode) {
|
|||
}
|
||||
|
||||
static int32_t createModificationOpPlan(const SQueryNode* pNode, SQueryPlanNode** pQueryPlan) {
|
||||
SVnodeModifOpStmtInfo* pInsert = (SVnodeModifOpStmtInfo*)pNode;
|
||||
SVnodeModifOpStmtInfo* pModifStmtInfo = (SVnodeModifOpStmtInfo*)pNode;
|
||||
|
||||
*pQueryPlan = calloc(1, sizeof(SQueryPlanNode));
|
||||
SArray* blocks = taosArrayInit(taosArrayGetSize(pInsert->pDataBlocks), POINTER_BYTES);
|
||||
SArray* blocks = taosArrayInit(taosArrayGetSize(pModifStmtInfo->pDataBlocks), POINTER_BYTES);
|
||||
|
||||
SDataPayloadInfo* pPayload = calloc(1, sizeof(SDataPayloadInfo));
|
||||
if (NULL == *pQueryPlan || NULL == blocks || NULL == pPayload) {
|
||||
|
@ -49,7 +49,7 @@ static int32_t createModificationOpPlan(const SQueryNode* pNode, SQueryPlanNode*
|
|||
}
|
||||
|
||||
(*pQueryPlan)->info.type = QNODE_MODIFY;
|
||||
taosArrayAddAll(blocks, pInsert->pDataBlocks);
|
||||
taosArrayAddAll(blocks, pModifStmtInfo->pDataBlocks);
|
||||
|
||||
if (pNode->type == TSDB_SQL_INSERT) {
|
||||
pPayload->msgType = TDMT_VND_SUBMIT;
|
||||
|
|
|
@ -369,9 +369,9 @@ int32_t createDag(SQueryPlanNode* pQueryNode, struct SCatalog* pCatalog, SQueryD
|
|||
TRY(TSDB_MAX_TAG_CONDITIONS) {
|
||||
SPlanContext context = {
|
||||
.pCatalog = pCatalog,
|
||||
.pDag = validPointer(calloc(1, sizeof(SQueryDag))),
|
||||
.pDag = validPointer(calloc(1, sizeof(SQueryDag))),
|
||||
.pCurrentSubplan = NULL,
|
||||
.nextId = {.queryId = requestId},
|
||||
.nextId = {.queryId = requestId},
|
||||
};
|
||||
|
||||
*pDag = context.pDag;
|
||||
|
|
|
@ -50,6 +50,10 @@ void schFreeTask(SSchTask* pTask) {
|
|||
if (pTask->parents) {
|
||||
taosArrayDestroy(pTask->parents);
|
||||
}
|
||||
|
||||
if (pTask->execAddrs) {
|
||||
taosArrayDestroy(pTask->execAddrs);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue