Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
2e266771
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看板
提交
2e266771
编写于
2月 14, 2023
作者:
S
slzhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: dispatch to udf by language type and udf name
上级
45d42d8b
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
30 addition
and
6 deletion
+30
-6
source/libs/function/src/udfd.c
source/libs/function/src/udfd.c
+30
-6
未找到文件。
source/libs/function/src/udfd.c
浏览文件 @
2e266771
...
...
@@ -329,7 +329,7 @@ int32_t udfdLoadSharedLib(char *libPath, uv_lib_t *pLib, const char *funcName[],
void
udfdInitializePythonPlugin
(
SUdfScriptPlugin
*
plugin
)
{
plugin
->
scriptType
=
TSDB_FUNC_SCRIPT_PYTHON
;
sprintf
(
"%s"
,
plugin
->
libPath
,
"libtaosudf_py.so"
);
sprintf
(
plugin
->
libPath
,
"%s"
,
"libtaosudf_py.so"
);
plugin
->
libLoaded
=
false
;
const
char
*
funcName
[
MAX_NUM_PLUGIN_FUNCS
]
=
{
"open"
,
"close"
,
"udfInit"
,
"udfDestroy"
,
"udfScalarProc"
,
"udfAggStart"
,
...
...
@@ -347,17 +347,41 @@ void udfdInitializePythonPlugin(SUdfScriptPlugin *plugin) {
return
;
}
void
udfdDeinitCPlugin
(
SUdfScriptPlugin
*
plugin
)
{
return
;
}
void
udfdDeinitPythonPlugin
(
SUdfScriptPlugin
*
plugin
)
{
if
(
plugin
->
libLoaded
)
{
uv_dlclose
(
&
plugin
->
lib
);
plugin
->
libLoaded
=
false
;
}
}
void
udfdInitScriptPlugins
()
{
SUdfScriptPlugin
*
plugins
=
taosMemoryCalloc
(
2
,
sizeof
(
SUdfScriptPlugin
));
// Initialize c language plugin
udfdInitializeCPlugin
(
plugins
+
0
);
SUdfScriptPlugin
*
plugin
=
NULL
;
// Initialize c plugin
plugin
=
taosMemoryCalloc
(
1
,
sizeof
(
SUdfScriptPlugin
));
udfdInitializeCPlugin
(
plugin
);
global
.
scriptPlugins
[
TSDB_FUNC_SCRIPT_BIN_LIB
]
=
plugin
;
// Initialize python plugin
udfdInitializePythonPlugin
(
plugins
+
1
);
plugin
=
taosMemoryCalloc
(
1
,
sizeof
(
SUdfScriptPlugin
));
udfdInitializePythonPlugin
(
plugin
);
global
.
scriptPlugins
[
TSDB_FUNC_SCRIPT_PYTHON
]
=
plugin
;
return
;
}
void
udfdDeinitScriptPlugins
()
{
SUdfScriptPlugin
*
plugin
=
NULL
;
plugin
=
global
.
scriptPlugins
[
TSDB_FUNC_SCRIPT_PYTHON
];
udfdDeinitPythonPlugin
(
plugin
);
taosMemoryFree
(
plugin
);
plugin
=
global
.
scriptPlugins
[
TSDB_FUNC_SCRIPT_BIN_LIB
];
udfdDeinitCPlugin
(
plugin
);
taosMemoryFree
(
plugin
);
return
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录