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