Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
89d05296
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看板
提交
89d05296
编写于
3月 10, 2023
作者:
S
slzhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: add varchar/nchar udf support
上级
fb958080
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
10 deletion
+4
-10
include/libs/function/taosudf.h
include/libs/function/taosudf.h
+1
-0
source/libs/function/src/udfd.c
source/libs/function/src/udfd.c
+2
-10
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+1
-0
未找到文件。
include/libs/function/taosudf.h
浏览文件 @
89d05296
...
...
@@ -196,6 +196,7 @@ static FORCE_INLINE void udfColDataSetNull(SUdfColumn *pColumn, int32_t row) {
udfColDataSetNull_f
(
pColumn
,
row
);
}
pColumn
->
hasNull
=
true
;
pColumn
->
colData
.
numOfRows
=
((
int32_t
)(
row
+
1
)
>
pColumn
->
colData
.
numOfRows
)
?
(
int32_t
)(
row
+
1
)
:
pColumn
->
colData
.
numOfRows
;
}
static
FORCE_INLINE
int32_t
udfColDataSet
(
SUdfColumn
*
pColumn
,
uint32_t
currentRow
,
const
char
*
pData
,
bool
isNull
)
{
...
...
source/libs/function/src/udfd.c
浏览文件 @
89d05296
...
...
@@ -621,11 +621,7 @@ void udfdProcessSetupRequest(SUvUdfWork *uvUdf, SUdfRequest *request) {
rsp
.
code
=
code
;
rsp
.
setupRsp
.
udfHandle
=
(
int64_t
)(
handle
);
rsp
.
setupRsp
.
outputType
=
udf
->
outputType
;
if
(
!
IS_VAR_DATA_TYPE
(
udf
->
outputType
))
{
rsp
.
setupRsp
.
bytes
=
udf
->
outputLen
;
}
else
{
rsp
.
setupRsp
.
bytes
=
udf
->
outputLen
+
VARSTR_HEADER_SIZE
;
}
rsp
.
setupRsp
.
bytes
=
udf
->
outputLen
;
rsp
.
setupRsp
.
bufSize
=
udf
->
bufSize
;
int32_t
len
=
encodeUdfResponse
(
NULL
,
&
rsp
);
...
...
@@ -654,11 +650,7 @@ void udfdProcessCallRequest(SUvUdfWork *uvUdf, SUdfRequest *request) {
switch
(
call
->
callType
)
{
case
TSDB_UDF_CALL_SCALA_PROC
:
{
SUdfColumn
output
=
{
0
};
if
(
IS_VAR_DATA_TYPE
(
udf
->
outputType
))
{
output
.
colMeta
.
bytes
=
udf
->
outputLen
+
VARSTR_HEADER_SIZE
;
}
else
{
output
.
colMeta
.
bytes
=
udf
->
outputLen
;
}
output
.
colMeta
.
bytes
=
udf
->
outputLen
;
output
.
colMeta
.
type
=
udf
->
outputType
;
output
.
colMeta
.
precision
=
0
;
output
.
colMeta
.
scale
=
0
;
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
89d05296
...
...
@@ -6395,6 +6395,7 @@ static int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionS
req
.
funcType
=
pStmt
->
isAgg
?
TSDB_FUNC_TYPE_AGGREGATE
:
TSDB_FUNC_TYPE_SCALAR
;
req
.
scriptType
=
pStmt
->
language
;
req
.
outputType
=
pStmt
->
outputDt
.
type
;
pStmt
->
outputDt
.
bytes
=
calcTypeBytes
(
pStmt
->
outputDt
);
req
.
outputLen
=
pStmt
->
outputDt
.
bytes
;
req
.
bufSize
=
pStmt
->
bufSize
;
int32_t
code
=
readFromFile
(
pStmt
->
libraryPath
,
&
req
.
codeLen
,
&
req
.
pCode
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录