Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b3fadd5c
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看板
提交
b3fadd5c
编写于
1月 24, 2022
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-11818]Fix memory leak in creating table.
上级
1f16647c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
8 deletion
+12
-8
include/libs/scheduler/scheduler.h
include/libs/scheduler/scheduler.h
+2
-2
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+1
-0
source/libs/scheduler/src/scheduler.c
source/libs/scheduler/src/scheduler.c
+9
-6
未找到文件。
include/libs/scheduler/scheduler.h
浏览文件 @
b3fadd5c
...
...
@@ -77,10 +77,10 @@ int32_t scheduleExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, stru
/**
* Process the query job, generated according to the query physical plan.
* This is a asynchronized API, and is also thread-safety.
* @param
n
odeList Qnode/Vnode address list, element is SQueryNodeAddr
* @param
pN
odeList Qnode/Vnode address list, element is SQueryNodeAddr
* @return
*/
int32_t
scheduleAsyncExecJob
(
void
*
transport
,
SArray
*
n
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
pJob
);
int32_t
scheduleAsyncExecJob
(
void
*
transport
,
SArray
*
pN
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
pJob
);
/**
* Fetch query result from the remote query executor
...
...
source/client/src/clientImpl.c
浏览文件 @
b3fadd5c
...
...
@@ -501,6 +501,7 @@ TAOS_RES *taos_query_l(TAOS *taos, const char *sql, int sqlLen) {
}
_return:
taosArrayDestroy
(
pNodeList
);
qDestroyQuery
(
pQueryNode
);
if
(
NULL
!=
pRequest
&&
TSDB_CODE_SUCCESS
!=
terrno
)
{
pRequest
->
code
=
terrno
;
...
...
source/libs/scheduler/src/scheduler.c
浏览文件 @
b3fadd5c
...
...
@@ -1288,9 +1288,9 @@ void schDropJobAllTasks(SSchJob *pJob) {
schDropTaskInHashList
(
pJob
,
pJob
->
failTasks
);
}
int32_t
schExecJobImpl
(
void
*
transport
,
SArray
*
n
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
job
,
bool
syncSchedule
)
{
if
(
nodeList
&&
taosArrayGetSize
(
n
odeList
)
<=
0
)
{
q
Info
(
"QID:%"
PRIx64
" input
nodeList is empty"
,
pDag
->
queryId
);
int32_t
schExecJobImpl
(
void
*
transport
,
SArray
*
pN
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
job
,
bool
syncSchedule
)
{
if
(
pNodeList
&&
taosArrayGetSize
(
pN
odeList
)
<=
0
)
{
q
Debug
(
"QID:%"
PRIx64
" input exec
nodeList is empty"
,
pDag
->
queryId
);
}
int32_t
code
=
0
;
...
...
@@ -1302,7 +1302,10 @@ int32_t schExecJobImpl(void *transport, SArray *nodeList, SQueryDag* pDag, struc
pJob
->
attr
.
syncSchedule
=
syncSchedule
;
pJob
->
transport
=
transport
;
pJob
->
nodeList
=
nodeList
;
if
(
pNodeList
!=
NULL
)
{
pJob
->
nodeList
=
taosArrayDup
(
pNodeList
);
}
SCH_ERR_JRET
(
schValidateAndBuildJob
(
pDag
,
pJob
));
...
...
@@ -1418,12 +1421,12 @@ int32_t scheduleExecJob(void *transport, SArray *nodeList, SQueryDag* pDag, stru
return
TSDB_CODE_SUCCESS
;
}
int32_t
scheduleAsyncExecJob
(
void
*
transport
,
SArray
*
n
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
pJob
)
{
int32_t
scheduleAsyncExecJob
(
void
*
transport
,
SArray
*
pN
odeList
,
SQueryDag
*
pDag
,
struct
SSchJob
**
pJob
)
{
if
(
NULL
==
transport
||
NULL
==
pDag
||
NULL
==
pDag
->
pSubplans
||
NULL
==
pJob
)
{
SCH_ERR_RET
(
TSDB_CODE_QRY_INVALID_INPUT
);
}
SCH_ERR_RET
(
schExecJobImpl
(
transport
,
n
odeList
,
pDag
,
pJob
,
false
));
SCH_ERR_RET
(
schExecJobImpl
(
transport
,
pN
odeList
,
pDag
,
pJob
,
false
));
return
TSDB_CODE_SUCCESS
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录