1#ifndef SQL_UDF_INCLUDED
2#define SQL_UDF_INCLUDED
130 void add(
bool *null_value);
Item with result field.
Definition: item.h:5626
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:853
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
my_decimal class limits 'decimal_t' type to what we need in MySQL.
Definition: my_decimal.h:94
bool m_init_func_called
True when init function has been called.
Definition: sql_udf.h:95
bool get_and_convert_string(uint index)
Get the details of the input String argument.
Definition: item_func.cc:4901
Item_result result_type() const
Definition: sql_udf.h:118
bool call_init_func()
Definition: item_func.cc:4644
const char * name() const
Definition: sql_udf.h:117
table_map used_tables_cache
Definition: sql_udf.h:103
my_decimal * val_decimal(bool *null_value, my_decimal *dec_buf)
Definition: item_func.cc:4808
udf_handler(udf_handler &&)=default
UDF_INIT initid
Definition: sql_udf.h:88
longlong val_int(bool *null_value)
Definition: item_func.cc:4752
bool m_initialized
True when handler has been initialized and use count incremented.
Definition: sql_udf.h:93
uchar is_null
Definition: sql_udf.h:91
void get_string(uint index)
Get the details of the input String arguments.
Definition: item_func.cc:4881
udf_handler & operator=(const udf_handler &)=default
bool is_initialized() const
Definition: sql_udf.h:115
char * num_buffer
Definition: sql_udf.h:89
bool m_original
Definition: sql_udf.h:104
bool fix_fields(THD *thd, Item_result_field *item, uint arg_count, Item **args)
Definition: item_func.cc:4480
Item ** args
Definition: sql_udf.h:96
void cleanup()
Definition: item_func.cc:4433
String * result_string(const char *res, size_t res_length, String *str, String *save_str)
Process the result string returned by the udf() method.
Definition: item_func.cc:4861
UDF_ARGS f_args
Definition: sql_udf.h:87
uchar error
Definition: sql_udf.h:90
void clear()
Definition: item_func.cc:4830
String * val_str(String *str, String *save_str)
Definition: item_func.cc:4774
double val_real(bool *null_value)
Definition: item_func.cc:4735
void free_handler()
Definition: item_func.cc:4461
String * buffers
Definition: sql_udf.h:86
udf_handler(udf_func *udf_arg)
Definition: item_func.cc:4428
void clean_buffers()
Definition: item_func.cc:4454
udf_handler(const udf_handler &)=default
bool get_arguments()
Definition: item_func.cc:4699
void add(bool *null_value)
Definition: item_func.cc:4837
udf_func * u_d
Definition: sql_udf.h:85
Udf_args_extension m_args_extension
A struct that holds the extension arguments for each UDF argument.
Definition: sql_udf.h:97
Udf_return_value_extension m_return_value_extension
A struct that holds the extension arguments for return value.
Definition: sql_udf.h:100
udf_handler & operator=(udf_handler &&)=default
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:222
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:52
long long int longlong
Definition: my_inttypes.h:55
uint64_t table_map
Definition: my_table_map.h:30
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1052
void udf_init_globals()
Initialize the UDF global structures.
Definition: sql_udf.cc:197
void udf_hash_for_each_func_t(udf_func *, void *)
Definition: sql_udf.h:151
void udf_hash_rlock(void)
Definition: sql_udf.cc:958
void udf_hash_unlock(void)
Definition: sql_udf.cc:960
void free_udf(udf_func *udf)
Definition: sql_udf.cc:426
bool mysql_drop_function(THD *thd, const LEX_STRING *name)
Drop a user defined function.
Definition: sql_udf.cc:771
void udf_unload_udfs()
Deinitialize the UDF subsystem.
Definition: sql_udf.cc:349
void udf_read_functions_table()
Definition: sql_udf.cc:217
void udf_hash_for_each(udf_hash_for_each_func_t *func, void *arg)
Definition: sql_udf.cc:964
void udf_deinit_globals()
Deinitialize the UDF subsystem.
Definition: sql_udf.cc:376
bool mysql_create_function(THD *thd, udf_func *udf, bool if_not_exists)
Create a user defined function.
Definition: sql_udf.cc:609
ulong udf_hash_size(void)
Definition: sql_udf.cc:962
udf_func * find_udf(const char *name, size_t len=0, bool mark_used=false)
Definition: sql_udf.cc:448
case opt name
Definition: sslopt-case.h:33
Definition: m_ctype.h:385
Definition: mysql_lex_string.h:35
char * str
Definition: mysql_lex_string.h:36
Definition: udf_registration_types.h:48
Information about the result of a user defined function.
Definition: udf_registration_types.h:66
Udf_args_extension()
Definition: sql_udf.h:65
const CHARSET_INFO ** charset_info
Definition: sql_udf.h:66
const CHARSET_INFO * charset_info
Definition: sql_udf.h:79
Udf_return_value_extension(const CHARSET_INFO *charset_info=nullptr, Item_result result_type=INVALID_RESULT)
Definition: sql_udf.h:76
Item_result result_type
Definition: sql_udf.h:80
char * dl
Definition: sql_udf.h:48
ulong usage_count
Definition: sql_udf.h:55
Item_result returns
Definition: sql_udf.h:46
Udf_func_add func_add
Definition: sql_udf.h:54
void * dlhandle
Definition: sql_udf.h:49
Item_udftype type
Definition: sql_udf.h:47
LEX_STRING name
Definition: sql_udf.h:45
Udf_func_any func
Definition: sql_udf.h:50
Udf_func_clear func_clear
Definition: sql_udf.h:53
Udf_func_deinit func_deinit
Definition: sql_udf.h:52
Udf_func_init func_init
Definition: sql_udf.h:51
unsigned int uint
Definition: uca9-dump.cc:75
void(* Udf_func_deinit)(UDF_INIT *)
Definition: udf_registration_types.h:80
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
@ INVALID_RESULT
Definition: udf_registration_types.h:40
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