Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
loser646
TDengine
提交
79f3d778
T
TDengine
项目概览
loser646
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
79f3d778
编写于
4月 23, 2020
作者:
H
hjxilinx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-171]fix bug in column values filter query
上级
47c2796b
变更
4
展开全部
显示空白变更内容
内联
并排
Showing
4 changed file
with
151 addition
and
179 deletion
+151
-179
src/query/inc/queryExecutor.h
src/query/inc/queryExecutor.h
+2
-2
src/query/inc/tsqlfunction.h
src/query/inc/tsqlfunction.h
+1
-1
src/query/src/queryExecutor.c
src/query/src/queryExecutor.c
+144
-172
src/query/src/queryUtil.c
src/query/src/queryUtil.c
+4
-4
未找到文件。
src/query/inc/queryExecutor.h
浏览文件 @
79f3d778
...
...
@@ -122,13 +122,13 @@ typedef struct SQuery {
int64_t
slidingTime
;
// sliding time for sliding window query
char
slidingTimeUnit
;
// interval data type, used for daytime revise
int8_t
precision
;
int16_t
numOfOutput
Cols
;
int16_t
numOfOutput
;
int16_t
interpoType
;
int16_t
checkBuffer
;
// check if the buffer is full during scan each block
SLimitVal
limit
;
int32_t
rowSize
;
SSqlGroupbyExpr
*
pGroupbyExpr
;
S
SqlFunctionExpr
*
pSelectExpr
;
S
ArithExprInfo
*
pSelectExpr
;
SColumnInfo
*
colList
;
int32_t
numOfFilterCols
;
int64_t
*
defaultVal
;
...
...
src/query/inc/tsqlfunction.h
浏览文件 @
79f3d778
...
...
@@ -114,7 +114,7 @@ enum {
#define QUERY_IS_FREE_RESOURCE(type) (((type)&TSDB_QUERY_TYPE_FREE_RESOURCE) != 0)
typedef
struct
SArithmeticSupport
{
S
SqlFunctionExpr
*
p
Expr
;
S
ArithExprInfo
*
pArith
Expr
;
int32_t
elemSize
[
TSDB_MAX_COLUMNS
];
int32_t
numOfCols
;
int32_t
offset
;
...
...
src/query/src/queryExecutor.c
浏览文件 @
79f3d778
此差异已折叠。
点击以展开。
src/query/src/queryUtil.c
浏览文件 @
79f3d778
...
...
@@ -217,11 +217,11 @@ void clearTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *pWindow
return
;
}
for
(
int32_t
i
=
0
;
i
<
pRuntimeEnv
->
pQuery
->
numOfOutput
Cols
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
pRuntimeEnv
->
pQuery
->
numOfOutput
;
++
i
)
{
SResultInfo
*
pResultInfo
=
&
pWindowRes
->
resultInfo
[
i
];
char
*
s
=
getPosInResultPage
(
pRuntimeEnv
,
i
,
pWindowRes
);
size_t
size
=
pRuntimeEnv
->
pQuery
->
pSelectExpr
[
i
].
resB
ytes
;
size_t
size
=
pRuntimeEnv
->
pQuery
->
pSelectExpr
[
i
].
b
ytes
;
memset
(
s
,
0
,
size
);
resetResultInfo
(
pResultInfo
);
...
...
@@ -245,7 +245,7 @@ void copyTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *dst, con
dst
->
window
=
src
->
window
;
dst
->
status
=
src
->
status
;
int32_t
nOutputCols
=
pRuntimeEnv
->
pQuery
->
numOfOutput
Cols
;
int32_t
nOutputCols
=
pRuntimeEnv
->
pQuery
->
numOfOutput
;
for
(
int32_t
i
=
0
;
i
<
nOutputCols
;
++
i
)
{
SResultInfo
*
pDst
=
&
dst
->
resultInfo
[
i
];
...
...
@@ -261,7 +261,7 @@ void copyTimeWindowResBuf(SQueryRuntimeEnv *pRuntimeEnv, SWindowResult *dst, con
// copy the output buffer data from src to dst, the position info keep unchanged
char
*
dstBuf
=
getPosInResultPage
(
pRuntimeEnv
,
i
,
dst
);
char
*
srcBuf
=
getPosInResultPage
(
pRuntimeEnv
,
i
,
(
SWindowResult
*
)
src
);
size_t
s
=
pRuntimeEnv
->
pQuery
->
pSelectExpr
[
i
].
resB
ytes
;
size_t
s
=
pRuntimeEnv
->
pQuery
->
pSelectExpr
[
i
].
b
ytes
;
memcpy
(
dstBuf
,
srcBuf
,
s
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录