+-
MySQL UDF创建中的错误1127
我正在尝试创建在 MySQL中使用的UDF.我已经使用gcc编译了该函数,并且可以正常工作.然后,我将.so文件移到我的插件目录中,并输入到MySQL服务器中.我尝试使用以下代码创建该函数:

CREATE FUNCTION mynew_udf RETURNS INT SONAME 'mynew_udf.so';

但是,服务器没有输出应有的错误,而是输出了以下错误:

ERROR 1127 (HY000): Can’t find symbol
‘mynew_udf’ in library

有谁知道解决方案或为什么会发生此错误?谢谢.

最佳答案
该错误确切说明了其含义:在共享库中找不到mynew_udf符号.

没有您的代码,我只能猜测为什么会这样.您的源代码是否具有如下所示的函数签名?

my_bool mynew_udf_init(UDF_INIT *, UDF_ARGS *args, char *message);  
int mynew_udf(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);

如第151 here行所述:“这些必须正确,否则mysqld将找不到该符号!”

如果您认为符号正确,也可以使用nm查看mynew_udf.so中的符号:

nm mynew_udf.so | grep mynew_udf
点击查看更多相关文章

转载注明原文:MySQL UDF创建中的错误1127 - 乐贴网