28#ifndef UDF_REGISTRATION_TYPES_H
29#define UDF_REGISTRATION_TYPES_H
31#ifndef MYSQL_ABI_CHECK
87 unsigned long *,
unsigned char *,
Definition: udf_registration_types.h:47
char ** args
Pointer to argument.
Definition: udf_registration_types.h:50
unsigned long * attribute_lengths
Length of attribute arguments.
Definition: udf_registration_types.h:54
char * maybe_null
Set to 1 for all maybe_null args.
Definition: udf_registration_types.h:52
char ** attributes
Pointer to attribute name.
Definition: udf_registration_types.h:53
void * extension
Definition: udf_registration_types.h:55
enum Item_result * arg_type
Pointer to item_results.
Definition: udf_registration_types.h:49
unsigned int arg_count
Number of arguments.
Definition: udf_registration_types.h:48
unsigned long * lengths
Length of string arguments.
Definition: udf_registration_types.h:51
Information about the result of a user defined function.
Definition: udf_registration_types.h:65
unsigned long max_length
for real functions
Definition: udf_registration_types.h:68
bool maybe_null
Definition: udf_registration_types.h:66
bool const_item
free pointer for function data
Definition: udf_registration_types.h:70
unsigned int decimals
1 if function can return NULL
Definition: udf_registration_types.h:67
void * extension
1 if function always returns the same value
Definition: udf_registration_types.h:71
char * ptr
For string functions.
Definition: udf_registration_types.h:69
long long(* Udf_func_longlong)(UDF_INIT *, UDF_ARGS *, unsigned char *, unsigned char *)
Definition: udf_registration_types.h:84
struct UDF_INIT UDF_INIT
Information about the result of a user defined function.
void(* Udf_func_deinit)(UDF_INIT *)
Definition: udf_registration_types.h:79
double(* Udf_func_double)(UDF_INIT *, UDF_ARGS *, unsigned char *, unsigned char *)
Definition: udf_registration_types.h:82
Item_result
Type of the user defined function return slot and arguments.
Definition: udf_registration_types.h:38
@ STRING_RESULT
not valid for UDFs
Definition: udf_registration_types.h:40
@ DECIMAL_RESULT
not valid for UDFs
Definition: udf_registration_types.h:44
@ REAL_RESULT
char *
Definition: udf_registration_types.h:41
@ INT_RESULT
double
Definition: udf_registration_types.h:42
@ INVALID_RESULT
Definition: udf_registration_types.h:39
@ ROW_RESULT
long long
Definition: udf_registration_types.h:43
bool(* Udf_func_init)(UDF_INIT *, UDF_ARGS *, char *)
Definition: udf_registration_types.h:80
void(* Udf_func_clear)(UDF_INIT *, unsigned char *, unsigned char *)
Definition: udf_registration_types.h:76
void(* Udf_func_add)(UDF_INIT *, UDF_ARGS *, unsigned char *, unsigned char *)
Definition: udf_registration_types.h:77
void(* Udf_func_any)(void)
Definition: udf_registration_types.h:81
Item_udftype
Definition: udf_registration_types.h:74
@ UDFTYPE_FUNCTION
Definition: udf_registration_types.h:74
@ UDFTYPE_AGGREGATE
Definition: udf_registration_types.h:74