Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
40c6ea3a
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看板
提交
40c6ea3a
编写于
2月 15, 2022
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modify unique function like top
上级
25aa2933
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
2 addition
and
5 deletion
+2
-5
src/client/src/tscGlobalmerge.c
src/client/src/tscGlobalmerge.c
+0
-1
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+1
-1
src/query/src/qAggMain.c
src/query/src/qAggMain.c
+0
-1
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+1
-2
未找到文件。
src/client/src/tscGlobalmerge.c
浏览文件 @
40c6ea3a
...
@@ -612,7 +612,6 @@ static void doMergeResultImpl(SOperatorInfo* pInfo, SQLFunctionCtx *pCtx, int32_
...
@@ -612,7 +612,6 @@ static void doMergeResultImpl(SOperatorInfo* pInfo, SQLFunctionCtx *pCtx, int32_
aAggs
[
functionId
].
mergeFunc
(
&
pCtx
[
j
]);
aAggs
[
functionId
].
mergeFunc
(
&
pCtx
[
j
]);
}
}
SQueryAttr
*
pQueryAttr
=
pInfo
->
pRuntimeEnv
->
pQueryAttr
;
if
(
functionId
==
TSDB_FUNC_UNIQUE
&&
if
(
functionId
==
TSDB_FUNC_UNIQUE
&&
(
GET_RES_INFO
(
&
(
pCtx
[
j
]))
->
numOfRes
>
MAX_UNIQUE_RESULT_ROWS
||
GET_RES_INFO
(
&
(
pCtx
[
j
]))
->
numOfRes
==
-
1
)){
(
GET_RES_INFO
(
&
(
pCtx
[
j
]))
->
numOfRes
>
MAX_UNIQUE_RESULT_ROWS
||
GET_RES_INFO
(
&
(
pCtx
[
j
]))
->
numOfRes
==
-
1
)){
tscError
(
"Unique result num is too large. num: %d, limit: %d"
,
tscError
(
"Unique result num is too large. num: %d, limit: %d"
,
...
...
src/client/src/tscSQLParser.c
浏览文件 @
40c6ea3a
...
@@ -3248,7 +3248,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
...
@@ -3248,7 +3248,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
tVariantDump
(
pVariant
,
val
,
TSDB_DATA_TYPE_BIGINT
,
true
);
tVariantDump
(
pVariant
,
val
,
TSDB_DATA_TYPE_BIGINT
,
true
);
int64_t
numRowsSelected
=
GET_INT32_VAL
(
val
);
int64_t
numRowsSelected
=
GET_INT32_VAL
(
val
);
if
(
numRowsSelected
<=
0
||
numRowsSelected
>
100
)
{
// todo use macro
if
(
functionId
!=
TSDB_FUNC_UNIQUE
&&
(
numRowsSelected
<=
0
||
numRowsSelected
>
100
)
)
{
// todo use macro
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg12
);
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg12
);
}
}
...
...
src/query/src/qAggMain.c
浏览文件 @
40c6ea3a
...
@@ -5190,7 +5190,6 @@ static bool unique_function_setup(SQLFunctionCtx *pCtx, SResultRowCellInfo* pRes
...
@@ -5190,7 +5190,6 @@ static bool unique_function_setup(SQLFunctionCtx *pCtx, SResultRowCellInfo* pRes
if
(
!
function_setup
(
pCtx
,
pResInfo
))
{
if
(
!
function_setup
(
pCtx
,
pResInfo
))
{
return
false
;
return
false
;
}
}
SUniqueFuncInfo
*
uniqueInfo
=
getUniqueOutputInfo
(
pCtx
);
return
true
;
return
true
;
}
}
...
...
src/query/src/qExecutor.c
浏览文件 @
40c6ea3a
...
@@ -1276,7 +1276,6 @@ static void doAggregateImpl(SOperatorInfo* pOperator, TSKEY startTs, SQLFunction
...
@@ -1276,7 +1276,6 @@ static void doAggregateImpl(SOperatorInfo* pOperator, TSKEY startTs, SQLFunction
assert
(
0
);
assert
(
0
);
}
}
SQueryAttr
*
pQueryAttr
=
pRuntimeEnv
->
pQueryAttr
;
if
(
functionId
==
TSDB_FUNC_UNIQUE
&&
if
(
functionId
==
TSDB_FUNC_UNIQUE
&&
(
GET_RES_INFO
(
&
(
pCtx
[
k
]))
->
numOfRes
>
MAX_UNIQUE_RESULT_ROWS
||
GET_RES_INFO
(
&
(
pCtx
[
k
]))
->
numOfRes
==
-
1
)){
(
GET_RES_INFO
(
&
(
pCtx
[
k
]))
->
numOfRes
>
MAX_UNIQUE_RESULT_ROWS
||
GET_RES_INFO
(
&
(
pCtx
[
k
]))
->
numOfRes
==
-
1
)){
qError
(
"Unique result num is too large. num: %d, limit: %d"
,
qError
(
"Unique result num is too large. num: %d, limit: %d"
,
...
@@ -8994,7 +8993,7 @@ static int32_t updateOutputBufForTopBotQuery(SQueriedTableInfo* pTableInfo, SCol
...
@@ -8994,7 +8993,7 @@ static int32_t updateOutputBufForTopBotQuery(SQueriedTableInfo* pTableInfo, SCol
for
(
int32_t
i
=
0
;
i
<
numOfOutput
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
numOfOutput
;
++
i
)
{
int16_t
functId
=
pExprs
[
i
].
base
.
functionId
;
int16_t
functId
=
pExprs
[
i
].
base
.
functionId
;
if
(
functId
==
TSDB_FUNC_TOP
||
functId
==
TSDB_FUNC_BOTTOM
||
functId
==
TSDB_FUNC_SAMPLE
||
func
If
==
TSDB_FUNC_UNIQUE
)
{
if
(
functId
==
TSDB_FUNC_TOP
||
functId
==
TSDB_FUNC_BOTTOM
||
functId
==
TSDB_FUNC_SAMPLE
||
func
tId
==
TSDB_FUNC_UNIQUE
)
{
int32_t
j
=
getColumnIndexInSource
(
pTableInfo
,
&
pExprs
[
i
].
base
,
pTagCols
);
int32_t
j
=
getColumnIndexInSource
(
pTableInfo
,
&
pExprs
[
i
].
base
,
pTagCols
);
if
(
j
<
0
||
j
>=
pTableInfo
->
numOfCols
)
{
if
(
j
<
0
||
j
>=
pTableInfo
->
numOfCols
)
{
return
TSDB_CODE_QRY_INVALID_MSG
;
return
TSDB_CODE_QRY_INVALID_MSG
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录