Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
df7c801e
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看板
提交
df7c801e
编写于
3月 26, 2022
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-13039] refactor.
上级
23db83f5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
9 addition
and
10 deletion
+9
-10
include/common/tcommon.h
include/common/tcommon.h
+0
-1
include/libs/function/function.h
include/libs/function/function.h
+1
-1
source/libs/executor/src/executorimpl.c
source/libs/executor/src/executorimpl.c
+8
-8
未找到文件。
include/common/tcommon.h
浏览文件 @
df7c801e
...
...
@@ -215,7 +215,6 @@ typedef struct SResSchame {
// TODO move away to executor.h
typedef
struct
SExprBasicInfo
{
int32_t
type
;
SResSchema
resSchema
;
int16_t
numOfParams
;
// argument value of each function
SFunctParam
*
pParam
;
...
...
include/libs/function/function.h
浏览文件 @
df7c801e
...
...
@@ -203,7 +203,7 @@ enum {
};
typedef
struct
tExprNode
{
uint8
_t
nodeType
;
int32
_t
nodeType
;
union
{
struct
{
int32_t
optr
;
// binary operator
...
...
source/libs/executor/src/executorimpl.c
浏览文件 @
df7c801e
...
...
@@ -1243,12 +1243,12 @@ static void doAggregateImpl(SOperatorInfo* pOperator, TSKEY startTs, SqlFunction
static
void
projectApplyFunctions
(
SExprInfo
*
pExpr
,
SSDataBlock
*
pResult
,
SSDataBlock
*
pSrcBlock
,
SqlFunctionCtx
*
pCtx
,
int32_t
numOfOutput
)
{
for
(
int32_t
k
=
0
;
k
<
numOfOutput
;
++
k
)
{
if
(
pExpr
[
k
].
base
.
t
ype
==
QUERY_NODE_COLUMN
)
{
// it is a project query
if
(
pExpr
[
k
].
pExpr
->
nodeT
ype
==
QUERY_NODE_COLUMN
)
{
// it is a project query
SColumnInfoData
*
pColInfoData
=
taosArrayGet
(
pResult
->
pDataBlock
,
k
);
colDataAssign
(
pColInfoData
,
pCtx
[
k
].
input
.
pData
[
0
],
pCtx
[
k
].
input
.
numOfRows
);
pResult
->
info
.
rows
=
pCtx
[
0
].
input
.
numOfRows
;
}
else
if
(
pExpr
[
k
].
base
.
t
ype
==
QUERY_NODE_OPERATOR
)
{
}
else
if
(
pExpr
[
k
].
pExpr
->
nodeT
ype
==
QUERY_NODE_OPERATOR
)
{
SArray
*
pBlockList
=
taosArrayInit
(
4
,
POINTER_BYTES
);
taosArrayPush
(
pBlockList
,
&
pSrcBlock
);
...
...
@@ -2035,16 +2035,16 @@ static SqlFunctionCtx* createSqlFunctionCtx_rv(SExprInfo* pExprInfo, int32_t num
SqlFunctionCtx
*
pCtx
=
&
pFuncCtx
[
i
];
pCtx
->
functionId
=
-
1
;
if
(
pExpr
->
base
.
t
ype
==
QUERY_NODE_FUNCTION
)
{
if
(
pExpr
->
pExpr
->
nodeT
ype
==
QUERY_NODE_FUNCTION
)
{
SFuncExecEnv
env
=
{
0
};
pCtx
->
functionId
=
pExpr
->
pExpr
->
_function
.
pFunctNode
->
funcId
;
fmGetFuncExecFuncs
(
pCtx
->
functionId
,
&
pCtx
->
fpSet
);
pCtx
->
fpSet
.
getEnv
(
pExpr
->
pExpr
->
_function
.
pFunctNode
,
&
env
);
pCtx
->
resDataInfo
.
interBufSize
=
env
.
calcMemSize
;
}
else
if
(
pExpr
->
base
.
t
ype
==
QUERY_NODE_COLUMN
)
{
}
else
if
(
pExpr
->
pExpr
->
nodeT
ype
==
QUERY_NODE_COLUMN
)
{
}
else
if
(
pExpr
->
base
.
t
ype
==
QUERY_NODE_OPERATOR
)
{
}
else
if
(
pExpr
->
pExpr
->
nodeT
ype
==
QUERY_NODE_OPERATOR
)
{
}
...
...
@@ -8344,7 +8344,7 @@ SExprInfo* createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys, int32_t*
// it is a project query, or group by column
if
(
nodeType
(
pTargetNode
->
pExpr
)
==
QUERY_NODE_COLUMN
)
{
pExp
->
base
.
t
ype
=
QUERY_NODE_COLUMN
;
pExp
->
pExpr
->
nodeT
ype
=
QUERY_NODE_COLUMN
;
SColumnNode
*
pColNode
=
(
SColumnNode
*
)
pTargetNode
->
pExpr
;
SDataType
*
pType
=
&
pColNode
->
node
.
resType
;
...
...
@@ -8355,7 +8355,7 @@ SExprInfo* createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys, int32_t*
pCol
->
scale
=
pType
->
scale
;
pCol
->
precision
=
pType
->
precision
;
}
else
if
(
nodeType
(
pTargetNode
->
pExpr
)
==
QUERY_NODE_FUNCTION
)
{
pExp
->
base
.
t
ype
=
QUERY_NODE_FUNCTION
;
pExp
->
pExpr
->
nodeT
ype
=
QUERY_NODE_FUNCTION
;
SFunctionNode
*
pFuncNode
=
(
SFunctionNode
*
)
pTargetNode
->
pExpr
;
SDataType
*
pType
=
&
pFuncNode
->
node
.
resType
;
...
...
@@ -8379,7 +8379,7 @@ SExprInfo* createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys, int32_t*
pCol
->
dataBlockId
=
pcn
->
dataBlockId
;
}
}
else
if
(
nodeType
(
pTargetNode
->
pExpr
)
==
QUERY_NODE_OPERATOR
)
{
pExp
->
base
.
t
ype
=
QUERY_NODE_OPERATOR
;
pExp
->
pExpr
->
nodeT
ype
=
QUERY_NODE_OPERATOR
;
SOperatorNode
*
pNode
=
(
SOperatorNode
*
)
pTargetNode
->
pExpr
;
SDataType
*
pType
=
&
pNode
->
node
.
resType
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录