[td-11818] fix memory leak.
This commit is contained in:
parent
57281f6e8f
commit
eadb5c2735
|
@ -279,7 +279,7 @@ TEST(testCase, connect_Test) {
|
||||||
// taos_free_result(pRes);
|
// taos_free_result(pRes);
|
||||||
// taos_close(pConn);
|
// taos_close(pConn);
|
||||||
//}
|
//}
|
||||||
//
|
|
||||||
//TEST(testCase, create_table_Test) {
|
//TEST(testCase, create_table_Test) {
|
||||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
// assert(pConn != NULL);
|
// assert(pConn != NULL);
|
||||||
|
@ -292,26 +292,26 @@ TEST(testCase, connect_Test) {
|
||||||
//
|
//
|
||||||
// taos_close(pConn);
|
// taos_close(pConn);
|
||||||
//}
|
//}
|
||||||
//
|
|
||||||
//TEST(testCase, create_ctable_Test) {
|
TEST(testCase, create_ctable_Test) {
|
||||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
// assert(pConn != NULL);
|
assert(pConn != NULL);
|
||||||
//
|
|
||||||
// TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
TAOS_RES* pRes = taos_query(pConn, "use abc1");
|
||||||
// if (taos_errno(pRes) != 0) {
|
if (taos_errno(pRes) != 0) {
|
||||||
// printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
printf("failed to use db, reason:%s\n", taos_errstr(pRes));
|
||||||
// }
|
}
|
||||||
// taos_free_result(pRes);
|
taos_free_result(pRes);
|
||||||
//
|
|
||||||
// pRes = taos_query(pConn, "create table tm0 using st1 tags(1)");
|
pRes = taos_query(pConn, "create table tm0 using st1 tags(1)");
|
||||||
// if (taos_errno(pRes) != 0) {
|
if (taos_errno(pRes) != 0) {
|
||||||
// printf("failed to create child table tm0, reason:%s\n", taos_errstr(pRes));
|
printf("failed to create child table tm0, reason:%s\n", taos_errstr(pRes));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// taos_free_result(pRes);
|
taos_free_result(pRes);
|
||||||
// taos_close(pConn);
|
taos_close(pConn);
|
||||||
//}
|
}
|
||||||
//
|
|
||||||
//TEST(testCase, show_stable_Test) {
|
//TEST(testCase, show_stable_Test) {
|
||||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
// assert(pConn != NULL);
|
// assert(pConn != NULL);
|
||||||
|
@ -533,6 +533,7 @@ TEST(testCase, connect_Test) {
|
||||||
// tmq_create_topic(pConn, "test_topic_1", sql, strlen(sql));
|
// tmq_create_topic(pConn, "test_topic_1", sql, strlen(sql));
|
||||||
// taos_close(pConn);
|
// taos_close(pConn);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//TEST(testCase, insert_test) {
|
//TEST(testCase, insert_test) {
|
||||||
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
// ASSERT_EQ(pConn, nullptr);
|
// ASSERT_EQ(pConn, nullptr);
|
||||||
|
@ -550,49 +551,48 @@ TEST(testCase, connect_Test) {
|
||||||
// taos_free_result(pRes);
|
// taos_free_result(pRes);
|
||||||
// taos_close(pConn);
|
// taos_close(pConn);
|
||||||
//}
|
//}
|
||||||
//#endif
|
|
||||||
|
|
||||||
TEST(testCase, projection_query_tables) {
|
//TEST(testCase, projection_query_tables) {
|
||||||
TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
|
||||||
ASSERT_NE(pConn, nullptr);
|
// ASSERT_NE(pConn, nullptr);
|
||||||
|
//
|
||||||
// TAOS_RES* pRes = taos_query(pConn, "create database abc1 vgroups 2");
|
//// 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) {
|
// 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);
|
// 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_ROW pRow = NULL;
|
||||||
// taos_free_result(pRes);
|
// 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);
|
// taos_free_result(pRes);
|
||||||
|
// taos_close(pConn);
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
|
@ -38,10 +38,10 @@ int32_t optimizeQueryPlan(struct SQueryPlanNode* pQueryNode) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t createModificationOpPlan(const SQueryNode* pNode, SQueryPlanNode** pQueryPlan) {
|
static int32_t createModificationOpPlan(const SQueryNode* pNode, SQueryPlanNode** pQueryPlan) {
|
||||||
SVnodeModifOpStmtInfo* pInsert = (SVnodeModifOpStmtInfo*)pNode;
|
SVnodeModifOpStmtInfo* pModifStmtInfo = (SVnodeModifOpStmtInfo*)pNode;
|
||||||
|
|
||||||
*pQueryPlan = calloc(1, sizeof(SQueryPlanNode));
|
*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));
|
SDataPayloadInfo* pPayload = calloc(1, sizeof(SDataPayloadInfo));
|
||||||
if (NULL == *pQueryPlan || NULL == blocks || NULL == pPayload) {
|
if (NULL == *pQueryPlan || NULL == blocks || NULL == pPayload) {
|
||||||
|
@ -49,7 +49,7 @@ static int32_t createModificationOpPlan(const SQueryNode* pNode, SQueryPlanNode*
|
||||||
}
|
}
|
||||||
|
|
||||||
(*pQueryPlan)->info.type = QNODE_MODIFY;
|
(*pQueryPlan)->info.type = QNODE_MODIFY;
|
||||||
taosArrayAddAll(blocks, pInsert->pDataBlocks);
|
taosArrayAddAll(blocks, pModifStmtInfo->pDataBlocks);
|
||||||
|
|
||||||
if (pNode->type == TSDB_SQL_INSERT) {
|
if (pNode->type == TSDB_SQL_INSERT) {
|
||||||
pPayload->msgType = TDMT_VND_SUBMIT;
|
pPayload->msgType = TDMT_VND_SUBMIT;
|
||||||
|
|
|
@ -369,9 +369,9 @@ int32_t createDag(SQueryPlanNode* pQueryNode, struct SCatalog* pCatalog, SQueryD
|
||||||
TRY(TSDB_MAX_TAG_CONDITIONS) {
|
TRY(TSDB_MAX_TAG_CONDITIONS) {
|
||||||
SPlanContext context = {
|
SPlanContext context = {
|
||||||
.pCatalog = pCatalog,
|
.pCatalog = pCatalog,
|
||||||
.pDag = validPointer(calloc(1, sizeof(SQueryDag))),
|
.pDag = validPointer(calloc(1, sizeof(SQueryDag))),
|
||||||
.pCurrentSubplan = NULL,
|
.pCurrentSubplan = NULL,
|
||||||
.nextId = {.queryId = requestId},
|
.nextId = {.queryId = requestId},
|
||||||
};
|
};
|
||||||
|
|
||||||
*pDag = context.pDag;
|
*pDag = context.pDag;
|
||||||
|
|
|
@ -50,6 +50,10 @@ void schFreeTask(SSchTask* pTask) {
|
||||||
if (pTask->parents) {
|
if (pTask->parents) {
|
||||||
taosArrayDestroy(pTask->parents);
|
taosArrayDestroy(pTask->parents);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pTask->execAddrs) {
|
||||||
|
taosArrayDestroy(pTask->execAddrs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue