Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
44e103a6
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
44e103a6
编写于
1月 05, 2023
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
enh(query): remove unnecessary malloc.
上级
5e4141a7
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
14 addition
and
8 deletion
+14
-8
include/libs/function/function.h
include/libs/function/function.h
+2
-2
source/libs/executor/src/executil.c
source/libs/executor/src/executil.c
+1
-1
source/libs/executor/src/executorimpl.c
source/libs/executor/src/executorimpl.c
+4
-0
source/util/src/tpagedbuf.c
source/util/src/tpagedbuf.c
+7
-5
未找到文件。
include/libs/function/function.h
浏览文件 @
44e103a6
...
...
@@ -136,11 +136,11 @@ typedef struct SqlFunctionCtx {
uint8_t
scanFlag
;
// record current running step, default: 0
int16_t
functionId
;
// function id
char
*
pOutput
;
// final result output buffer, point to sdata->data
int32_t
numOfParams
;
// input parameter, e.g., top(k, 20), the number of results of top query is kept in param
SFunctParam
*
param
;
// corresponding output buffer for timestamp of each result, e.g., diff/csum
SColumnInfoData
*
pTsOutput
;
int32_t
numOfParams
;
int32_t
offset
;
SResultRowEntryInfo
*
resultInfo
;
SSubsidiaryResInfo
subsidiaries
;
...
...
@@ -152,7 +152,7 @@ typedef struct SqlFunctionCtx {
struct
SSDataBlock
*
pSrcBlock
;
struct
SSDataBlock
*
pDstBlock
;
// used by indefinite rows function to set selectivity
SSerializeDataHandle
saveHandle
;
char
udfName
[
TSDB_FUNC_NAME_LEN
]
;
char
*
udfName
;
}
SqlFunctionCtx
;
typedef
struct
tExprNode
{
...
...
source/libs/executor/src/executil.c
浏览文件 @
44e103a6
...
...
@@ -1513,7 +1513,7 @@ SqlFunctionCtx* createSqlFunctionCtx(SExprInfo* pExprInfo, int32_t numOfOutput,
fmGetFuncExecFuncs
(
pCtx
->
functionId
,
&
pCtx
->
fpSet
);
}
else
{
char
*
udfName
=
pExpr
->
pExpr
->
_function
.
pFunctNode
->
functionName
;
tstrncpy
(
pCtx
->
udfName
,
udfName
,
TSDB_FUNC_NAME_LEN
);
pCtx
->
udfName
=
strdup
(
udfName
);
fmGetUdafExecFuncs
(
pCtx
->
functionId
,
&
pCtx
->
fpSet
);
}
pCtx
->
fpSet
.
getEnv
(
pExpr
->
pExpr
->
_function
.
pFunctNode
,
&
env
);
...
...
source/libs/executor/src/executorimpl.c
浏览文件 @
44e103a6
...
...
@@ -1785,6 +1785,10 @@ void* destroySqlFunctionCtx(SqlFunctionCtx* pCtx, int32_t numOfOutput) {
taosMemoryFreeClear
(
pCtx
[
i
].
subsidiaries
.
buf
);
taosMemoryFree
(
pCtx
[
i
].
input
.
pData
);
taosMemoryFree
(
pCtx
[
i
].
input
.
pColumnDataAgg
);
if
(
pCtx
[
i
].
udfName
!=
NULL
)
{
taosMemoryFree
(
pCtx
[
i
].
udfName
);
}
}
taosMemoryFreeClear
(
pCtx
);
...
...
source/util/src/tpagedbuf.c
浏览文件 @
44e103a6
...
...
@@ -360,16 +360,13 @@ int32_t createDiskbasedBuf(SDiskbasedBuf** pBuf, int32_t pagesize, int32_t inMem
// init id hash table
_hash_fn_t
fn
=
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_INT
);
pPBuf
->
pIdList
=
taosArrayInit
(
4
,
POINTER_BYTES
);
pPBuf
->
assistBuf
=
taosMemoryMalloc
(
pPBuf
->
pageSize
+
2
);
// EXTRA BYTES
pPBuf
->
all
=
taosHashInit
(
10
,
fn
,
true
,
false
);
pPBuf
->
prefix
=
(
char
*
)
dir
;
pPBuf
->
emptyDummyIdList
=
taosArrayInit
(
1
,
sizeof
(
int32_t
));
// qDebug("QInfo:0x%"PRIx64" create resBuf for output, page size:%d, inmem buf pages:%d, file:%s", qId,
// pPBuf->pageSize,
// pPBuf->inMemPages, pPBuf->path);
// pPBuf->pageSize, pPBuf->inMemPages, pPBuf->path);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -593,7 +590,12 @@ void setBufPageDirty(void* pPage, bool dirty) {
ppi
->
dirty
=
dirty
;
}
void
setBufPageCompressOnDisk
(
SDiskbasedBuf
*
pBuf
,
bool
comp
)
{
pBuf
->
comp
=
comp
;
}
void
setBufPageCompressOnDisk
(
SDiskbasedBuf
*
pBuf
,
bool
comp
)
{
pBuf
->
comp
=
comp
;
if
(
comp
&&
(
pBuf
->
assistBuf
==
NULL
))
{
pBuf
->
assistBuf
=
taosMemoryMalloc
(
pBuf
->
pageSize
+
2
);
// EXTRA BYTES
}
}
void
dBufSetBufPageRecycled
(
SDiskbasedBuf
*
pBuf
,
void
*
pPage
)
{
SPageInfo
*
ppi
=
getPageInfoFromPayload
(
pPage
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录