27.2.3.1. UDF 對簡單函數的調用順序 |
發布時間: 2012/8/17 17:59:48 |
下面介紹創建簡單UDF時需要定義的不同函數。27.2.3節,“添加新的自定義函數”中介紹了MySQL調用這些函數的順序。
如本節所示,應該說明主函數xxx()。注意返回值和參數會有所不同,這取決于你說明的SQL函數xxx()在CREATE FUNCTION聲明中返回的是STRING,INTEGER類型還是REAL類型示:
對于STRING 型函數: char *xxx(UDF_INIT *initid, UDF_ARGS *args, char *result, unsigned long *length, char *is_null, char *error); 對于INTEGER型函數:
long long xxx(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error); 對于REAL型函數:
double xxx(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error); 初始化和去初始化函數如下說明: 電腦技巧www.boydavid.com my_bool xxx_init(UDF_INIT *initid, UDF_ARGS *args, char *message); void xxx_deinit(UDF_INIT *initid); initid 參數被傳遞給所有的三個函數。它指向一個UDF_INIT 結構,這個結構被用來在函數之間交換信息。UDF_INIT 結構項跟隨著。初始化函數應該給任何它想要改變的項賦值。(要使用項的默認值,就讓它不被改變)
本文出自:億恩科技【www.laynepeng.cn】 |