用于Windows的最基本MySQL UDF代码
我正在尝试为MySQL创建最基本的用户定义函数用于Windows的最基本MySQL UDF代码,mysql,udf,Mysql,Udf,我正在尝试为MySQL创建最基本的用户定义函数 #include <mysql.h> extern "C" { my_bool foo_init(UDF_INIT *initid, UDF_ARGS *args, char *message); char *foo(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error); } my_bool foo_init(UDF_INIT *initid, U
#include <mysql.h>
extern "C" {
my_bool foo_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
char *foo(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
}
my_bool foo_init(UDF_INIT *initid, UDF_ARGS *args, char *message) {
return 0;
}
char *foo(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) {
return "";
}
它说SQL错误(1127):在库中找不到符号“foo”
char*foo(UDF\u INIT*initid,UDF\u ARGS*ARGS,char*result,unsigned long*length,char*is\u null,char*error)
UDF\u name\u init
,UDF\u name
和UDF\u name\u deinit
/lib/plugin/
下#包括
我的兄弟
foo_init(UDF_init*initid,
UDF_参数*参数,
字符*消息)
{
返回0;
}
煤焦*
foo(UDF_INIT*initid,
UDF_参数*参数,
字符*结果,
无符号长*长,
char*为空,
字符*错误)
{
//指定了返回字符串的长度
//参见第3440行和第3454行中的项目
// https://github.com/MariaDB/server/blob/9cc7789e9084e7d59a43f9560870e496843535f9/sql/item_func.cc#L3440
*长度=0;
返回“”;
}
无效的
foo_deinit(UDF_INIT*initid)
{
//没什么。。。
}
CREATE FUNCTION foo RETURNS STRING SONAME "mysql_plugin2.dll"
#include <mysql.h>
my_bool
foo_init(UDF_INIT *initid,
UDF_ARGS *args,
char *message)
{
return 0;
}
char *
foo(UDF_INIT *initid,
UDF_ARGS *args,
char *result,
unsigned long *length,
char *is_null,
char *error)
{
// specified the return string length
// see item_func.cc line #3440 and #3454
// https://github.com/MariaDB/server/blob/9cc7789e9084e7d59a43f9560870e496843535f9/sql/item_func.cc#L3440
*length = 0;
return "";
}
void
foo_deinit(UDF_INIT *initid)
{
// nothing...
}