UDF的调用过程:
如果需要内存,则必须将其放入 xxx_init() 并释放 xxx_deinit()。
那么也就是在创建udf的dll的时候要实现的是XXX_INIT 和 XXX_DEINIT 这两个函数,这里必须要实现的是XXX_INIT,因为需要该函数为我们分配内存空间
实现模板:
my_bool xxx_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
void xxx_deinit(UDF_INIT *initid);
由于用到的udf调用结果都是字符串,那么这里返回结果就声明为char*了
用到的模板则是如下:
char *xxx(UDF_INIT *initid, UDF_ARGS *args,
char *result, unsigned long *length,
char *is_null, char *error);
其中UDF_ARGS的结构体如下:
typedef struct st_udf_args
{
unsigned