Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e055dd5f
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看板
提交
e055dd5f
编写于
3月 10, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
TD-13747 bugfix
上级
54afca4d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
38 addition
and
1 deletion
+38
-1
include/libs/nodes/plannodes.h
include/libs/nodes/plannodes.h
+1
-1
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+37
-0
未找到文件。
include/libs/nodes/plannodes.h
浏览文件 @
e055dd5f
...
...
@@ -143,6 +143,7 @@ typedef struct SScanPhysiNode {
int32_t
order
;
// scan order: TSDB_ORDER_ASC|TSDB_ORDER_DESC
int32_t
count
;
// repeat count
int32_t
reverse
;
// reverse scan count
SName
tableName
;
}
SScanPhysiNode
;
typedef
SScanPhysiNode
SSystemTableScanPhysiNode
;
...
...
@@ -217,7 +218,6 @@ typedef struct SSubplan {
SNodeList
*
pParents
;
// the data destination subplan, get data from current subplan
SPhysiNode
*
pNode
;
// physical plan of current subplan
SDataSinkNode
*
pDataSink
;
// data of the subplan flow into the datasink
SName
tableName
;
// scan table
}
SSubplan
;
typedef
struct
SQueryPlan
{
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
e055dd5f
...
...
@@ -1261,6 +1261,38 @@ static int32_t jsonToSlotDescNode(const SJson* pJson, void* pObj) {
return
code
;
}
static
const
char
*
jkDownstreamSourceAddr
=
"Addr"
;
static
const
char
*
jkDownstreamSourceTaskId
=
"TaskId"
;
static
const
char
*
jkDownstreamSourceSchedId
=
"SchedId"
;
static
int32_t
downstreamSourceNodeToJson
(
const
void
*
pObj
,
SJson
*
pJson
)
{
const
SDownstreamSourceNode
*
pNode
=
(
const
SDownstreamSourceNode
*
)
pObj
;
int32_t
code
=
tjsonAddObject
(
pJson
,
jkDownstreamSourceAddr
,
queryNodeAddrToJson
,
&
pNode
->
addr
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDownstreamSourceTaskId
,
pNode
->
taskId
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDownstreamSourceSchedId
,
pNode
->
schedId
);
}
return
code
;
}
static
int32_t
jsonToDownstreamSourceNode
(
const
SJson
*
pJson
,
void
*
pObj
)
{
SDownstreamSourceNode
*
pNode
=
(
SDownstreamSourceNode
*
)
pObj
;
int32_t
code
=
tjsonToObject
(
pJson
,
jkDownstreamSourceAddr
,
jsonToQueryNodeAddr
,
&
pNode
->
addr
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetUBigIntValue
(
pJson
,
jkDownstreamSourceTaskId
,
&
pNode
->
taskId
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetUBigIntValue
(
pJson
,
jkDownstreamSourceSchedId
,
&
pNode
->
schedId
);
}
return
code
;
}
static
const
char
*
jkDataBlockDescDataBlockId
=
"DataBlockId"
;
static
const
char
*
jkDataBlockDescSlots
=
"Slots"
;
static
const
char
*
jkDataBlockResultRowSize
=
"ResultRowSize"
;
...
...
@@ -1381,6 +1413,9 @@ static int32_t specificNodeToJson(const void* pObj, SJson* pJson) {
case
QUERY_NODE_SLOT_DESC
:
return
slotDescNodeToJson
(
pObj
,
pJson
);
case
QUERY_NODE_COLUMN_DEF
:
break
;
case
QUERY_NODE_DOWNSTREAM_SOURCE
:
return
downstreamSourceNodeToJson
(
pObj
,
pJson
);
case
QUERY_NODE_SET_OPERATOR
:
break
;
case
QUERY_NODE_SELECT_STMT
:
...
...
@@ -1470,6 +1505,8 @@ static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) {
return
jsonToDataBlockDescNode
(
pJson
,
pObj
);
case
QUERY_NODE_SLOT_DESC
:
return
jsonToSlotDescNode
(
pJson
,
pObj
);
case
QUERY_NODE_DOWNSTREAM_SOURCE
:
return
jsonToDownstreamSourceNode
(
pJson
,
pObj
);
// case QUERY_NODE_SET_OPERATOR:
// break;
// case QUERY_NODE_SELECT_STMT:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录