Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8e97949a
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8e97949a
编写于
7月 22, 2020
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-225] fix memory leaks.
上级
9a9ea692
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
8 deletion
+15
-8
src/query/src/qResultbuf.c
src/query/src/qResultbuf.c
+14
-7
src/query/tests/CMakeLists.txt
src/query/tests/CMakeLists.txt
+1
-1
未找到文件。
src/query/src/qResultbuf.c
浏览文件 @
8e97949a
...
...
@@ -184,7 +184,10 @@ tFilePage* getNewDataBuf(SDiskbasedResultBuf* pResultBuf, int32_t groupId, int32
pResultBuf
->
inMemPages
,
pResultBuf
->
pageSize
);
}
else
{
tdListPopNode
(
pResultBuf
->
pPageList
,
pn
);
if
(
flushPageToDisk
(
pResultBuf
,
*
(
SPageInfo
**
)
pn
->
data
)
!=
TSDB_CODE_SUCCESS
)
{
SPageInfo
*
d
=
*
(
SPageInfo
**
)
pn
->
data
;
tfree
(
pn
);
if
(
flushPageToDisk
(
pResultBuf
,
d
)
!=
TSDB_CODE_SUCCESS
)
{
return
NULL
;
}
}
...
...
@@ -275,6 +278,8 @@ tFilePage* getResBufPage(SDiskbasedResultBuf* pResultBuf, int32_t id) {
fread
(
buf
,
(
*
pi
)
->
info
.
length
,
1
,
pResultBuf
->
file
);
(
*
pi
)
->
pData
=
buf
;
tfree
(
pn
);
return
(
*
pi
)
->
pData
;
}
}
...
...
@@ -292,7 +297,6 @@ void releaseResBufPage(SDiskbasedResultBuf* pResultBuf, void* page) {
T_REF_DEC
(
ppi
);
}
int32_t
getNumOfRowsPerPage
(
SDiskbasedResultBuf
*
pResultBuf
)
{
return
pResultBuf
->
numOfRowsPerPage
;
}
SIDList
getDataBufPagesIdList
(
SDiskbasedResultBuf
*
pResultBuf
,
int32_t
groupId
)
{
...
...
@@ -325,15 +329,18 @@ void destroyResultBuf(SDiskbasedResultBuf* pResultBuf, void* handle) {
unlink
(
pResultBuf
->
path
);
tfree
(
pResultBuf
->
path
);
// size_t size = taosArrayGetSize(pResultBuf->list);
// for (int32_t i = 0; i < size; ++i) {
// SArray* pa = taosArrayGetP(pResultBuf->list, i);
// taosArrayDestroy(pa);
// }
SHashMutableIterator
*
iter
=
taosHashCreateIter
(
pResultBuf
->
idsTable
);
while
(
taosHashIterNext
(
iter
))
{
SArray
**
p
=
(
SArray
**
)
taosHashIterGet
(
iter
);
taosArrayDestroy
(
*
p
);
}
taosHashDestroyIter
(
iter
);
tdListFree
(
pResultBuf
->
pPageList
);
taosArrayDestroy
(
pResultBuf
->
emptyDummyIdList
);
taosHashCleanup
(
pResultBuf
->
idsTable
);
taosHashCleanup
(
pResultBuf
->
all
);
tfree
(
pResultBuf
);
}
...
...
src/query/tests/CMakeLists.txt
浏览文件 @
8e97949a
...
...
@@ -10,6 +10,6 @@ IF (HEADER_GTEST_INCLUDE_DIR AND LIB_GTEST_STATIC_DIR)
INCLUDE_DIRECTORIES
(
${
HEADER_GTEST_INCLUDE_DIR
}
)
AUX_SOURCE_DIRECTORY
(
${
CMAKE_CURRENT_SOURCE_DIR
}
SOURCE_LIST
)
ADD_EXECUTABLE
(
queryTest
${
SOURCE_LIST
}
)
ADD_EXECUTABLE
(
queryTest
./unitTest.cpp ./resultBufferTest.cpp
)
TARGET_LINK_LIBRARIES
(
queryTest taos query gtest pthread
)
ENDIF
()
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录