Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
ff9d840c
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ff9d840c
编写于
10月 21, 2021
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug and case issue
上级
3219ca41
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
7 deletion
+21
-7
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+13
-1
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+4
-5
tests/script/general/parser/udf_dll.sim
tests/script/general/parser/udf_dll.sim
+1
-0
tests/script/sh/abs_max.c
tests/script/sh/abs_max.c
+3
-1
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
ff9d840c
...
...
@@ -5779,7 +5779,19 @@ int32_t validateOrderbyNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSq
SStrToken
columnName
=
{
pVar
->
nLen
,
pVar
->
nType
,
pVar
->
pz
};
SColumnIndex
index
=
COLUMN_INDEX_INITIALIZER
;
bool
udf
=
(
taosArrayGetSize
(
pQueryInfo
->
pUdfInfo
)
>
0
);
bool
udf
=
false
;
if
(
pQueryInfo
->
pUdfInfo
&&
taosArrayGetSize
(
pQueryInfo
->
pUdfInfo
)
>
0
)
{
int32_t
usize
=
taosArrayGetSize
(
pQueryInfo
->
pUdfInfo
);
for
(
int32_t
i
=
0
;
i
<
usize
;
++
i
)
{
SUdfInfo
*
pUdfInfo
=
taosArrayGet
(
pQueryInfo
->
pUdfInfo
,
i
);
if
(
pUdfInfo
->
funcType
==
TSDB_UDF_TYPE_SCALAR
)
{
udf
=
true
;
break
;
}
}
}
if
(
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
))
{
// super table query
if
(
getColumnIndexByName
(
&
columnName
,
pQueryInfo
,
&
index
,
tscGetErrorMsgPayload
(
pCmd
))
!=
TSDB_CODE_SUCCESS
)
{
...
...
src/query/src/qExecutor.c
浏览文件 @
ff9d840c
...
...
@@ -987,13 +987,12 @@ void doInvokeUdf(SUdfInfo* pUdfInfo, SQLFunctionCtx *pCtx, int32_t idx, int32_t
SResultRowCellInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
void
*
interBuf
=
(
void
*
)
GET_ROWCELL_INTERBUF
(
pResInfo
);
if
(
pUdfInfo
->
isScript
)
{
(
*
(
scriptFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pUdfInfo
->
pScriptCtx
,
pCtx
->
startTs
,
pCtx
->
pOutput
,
&
output
);
(
*
(
scriptFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pUdfInfo
->
pScriptCtx
,
pCtx
->
startTs
,
pCtx
->
pOutput
,
(
int32_t
*
)
&
pCtx
->
resultInfo
->
numOfRes
);
}
else
{
(
*
(
udfFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
->
pOutput
,
interBuf
,
&
output
,
&
pUdfInfo
->
init
);
(
*
(
udfFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
->
pOutput
,
interBuf
,
(
int32_t
*
)
&
pCtx
->
resultInfo
->
numOfRes
,
&
pUdfInfo
->
init
);
}
// set the output value exist
pCtx
->
resultInfo
->
numOfRes
=
output
;
if
(
output
>
0
)
{
if
(
pCtx
->
resultInfo
->
numOfRes
>
0
)
{
pCtx
->
resultInfo
->
hasResult
=
DATA_SET_FLAG
;
}
...
...
tests/script/general/parser/udf_dll.sim
浏览文件 @
ff9d840c
...
...
@@ -452,6 +452,7 @@ if $data31 != 2 then
return -1
endi
sql_error select add_one(f1) from tb1 order by ts desc;
sql select add_one(f1) from tb1 limit 2;
if $rows != 2 then
...
...
tests/script/sh/abs_max.c
浏览文件 @
ff9d840c
...
...
@@ -38,6 +38,8 @@ void abs_max(char* data, short itype, short ibytes, int numOfRows, long long* ts
*
(
long
*
)
dataOutput
=
r
;
printf
(
"abs_max out, dataoutput:%ld, numOfOutput:%d
\n
"
,
*
(
long
*
)
dataOutput
,
*
numOfOutput
);
}
else
{
*
numOfOutput
=
0
;
}
}
...
...
@@ -47,7 +49,7 @@ void abs_max_finalize(char* dataOutput, char* interBuf, int* numOfOutput, SUdfIn
int
i
;
int
r
=
0
;
printf
(
"abs_max_finalize dataoutput:%p:%d, numOfOutput:%d, buf:%p
\n
"
,
dataOutput
,
*
dataOutput
,
*
numOfOutput
,
buf
);
*
numOfOutput
=
1
;
printf
(
"abs_max finalize, dataoutput:%ld, numOfOutput:%d
\n
"
,
*
(
long
*
)
dataOutput
,
*
numOfOutput
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录