1. 簡單的 如string相關的函數2. 集合的 aggregate,如sum函數
SONAME 鏈接庫的名稱
類型 |
描述 |
---|---|
STRING |
char * |
INTEGER |
64位int,__int64,unsigned __int64 |
REAL |
double |
DECIAML |
還沒完成,char* |
UDF_INIT:
類型 |
名稱 |
描述 |
---|---|---|
my_bool |
maybe_null |
1 如果返回NULL |
unsigned int |
decimals |
用在REAL函數 |
unsigned long |
max_length |
用於STRING函數 |
char * |
ptr |
函數數據的自由指針 |
my_bool |
const_item |
0時參數無關 |
UDF_ARGS:
類型 |
名稱 |
描述 |
---|---|---|
unsigned int |
arg_count |
參數個數 |
enum Item_result * |
arg_type |
參數類型 |
char ** |
args |
參數 |
unsigned long * |
lengths |
參數長度 |
char * |
maybe_null |
當置1時,參數可以爲NULL |
char ** |
attributes |
屬性 |
unsigned long * |
attribute_lengths |
屬性長度 |
模板
my_bool MyTest_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
{
}
void MyTest_deinit(UDF_INIT *initid)
{
}
//以下爲不同情況的函數
longlong MyTest(UDF_INIT *initid, UDF_ARGS *args,char *is_null, char *error)
{
}
double MyTest(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
}
char* MyTest(UDF_INIT *initid, UDF_ARGS *args,char *result, unsigned long *length,char *is_null, char *error)
{
}
//END
//以下用於集合
void MyTest_clear(UDF_INIT *initid, char *is_null, char *error)
{
}
void MyTest_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
}
//END
如果有建議或疑問歡迎留言