1#ifndef SQL_UDF_INCLUDED
2#define SQL_UDF_INCLUDED
129 void add(
bool *null_value);
Item with result field.
Definition: item.h:5566
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:850
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:166
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
my_decimal class limits 'decimal_t' type to what we need in MySQL.
Definition: my_decimal.h:93
bool m_init_func_called
True when init function has been called.
Definition: sql_udf.h:94
bool get_and_convert_string(uint index)
Get the details of the input String argument.
Definition: item_func.cc:4867
Item_result result_type() const
Definition: sql_udf.h:117
bool call_init_func()
Definition: item_func.cc:4610
const char * name() const
Definition: sql_udf.h:116
table_map used_tables_cache
Definition: sql_udf.h:102
my_decimal * val_decimal(bool *null_value, my_decimal *dec_buf)
Definition: item_func.cc:4774
udf_handler(udf_handler &&)=default
UDF_INIT initid
Definition: sql_udf.h:87
longlong val_int(bool *null_value)
Definition: item_func.cc:4718
bool m_initialized
True when handler has been initialized and use count incremented.
Definition: sql_udf.h:92
uchar is_null
Definition: sql_udf.h:90
void get_string(uint index)
Get the details of the input String arguments.
Definition: item_func.cc:4847
udf_handler & operator=(const udf_handler &)=default
bool is_initialized() const
Definition: sql_udf.h:114
char * num_buffer
Definition: sql_udf.h:88
bool m_original
Definition: sql_udf.h:103
bool fix_fields(THD *thd, Item_result_field *item, uint arg_count, Item **args)
Definition: item_func.cc:4468
Item ** args
Definition: sql_udf.h:95
void cleanup()
Definition: item_func.cc:4422
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:4827
UDF_ARGS f_args
Definition: sql_udf.h:86
uchar error
Definition: sql_udf.h:89
void clear()
Definition: item_func.cc:4796
String * val_str(String *str, String *save_str)
Definition: item_func.cc:4740
double val_real(bool *null_value)
Definition: item_func.cc:4701
void free_handler()
Definition: item_func.cc:4450
String * buffers
Definition: sql_udf.h:85
udf_handler(udf_func *udf_arg)
Definition: item_func.cc:4417
void clean_buffers()
Definition: item_func.cc:4443
udf_handler(const udf_handler &)=default
bool get_arguments()
Definition: item_func.cc:4665
void add(bool *null_value)
Definition: item_func.cc:4803
udf_func * u_d
Definition: sql_udf.h:84
Udf_args_extension m_args_extension
A struct that holds the extension arguments for each UDF argument.
Definition: sql_udf.h:96
Udf_return_value_extension m_return_value_extension
A struct that holds the extension arguments for return value.
Definition: sql_udf.h:99
udf_handler & operator=(udf_handler &&)=default
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:51
long long int longlong
Definition: my_inttypes.h:54
uint64_t table_map
Definition: my_table_map.h:29
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1063
void udf_init_globals()
Initialize the UDF global structures.
Definition: sql_udf.cc:196
void udf_hash_for_each_func_t(udf_func *, void *)
Definition: sql_udf.h:150
void udf_hash_rlock(void)
Definition: sql_udf.cc:957
void udf_hash_unlock(void)
Definition: sql_udf.cc:959
void free_udf(udf_func *udf)
Definition: sql_udf.cc:425
bool mysql_drop_function(THD *thd, const LEX_STRING *name)
Drop a user defined function.
Definition: sql_udf.cc:770
void udf_unload_udfs()
Deinitialize the UDF subsystem.
Definition: sql_udf.cc:348
void udf_read_functions_table()
Definition: sql_udf.cc:216
void udf_hash_for_each(udf_hash_for_each_func_t *func, void *arg)
Definition: sql_udf.cc:963
void udf_deinit_globals()
Deinitialize the UDF subsystem.
Definition: sql_udf.cc:375
bool mysql_create_function(THD *thd, udf_func *udf, bool if_not_exists)
Create a user defined function.
Definition: sql_udf.cc:608
ulong udf_hash_size(void)
Definition: sql_udf.cc:961
udf_func * find_udf(const char *name, size_t len=0, bool mark_used=false)
Definition: sql_udf.cc:447
case opt name
Definition: sslopt-case.h:32
Definition: m_ctype.h:382
Definition: mysql_lex_string.h:34
char * str
Definition: mysql_lex_string.h:35
Definition: udf_registration_types.h:47
Information about the result of a user defined function.
Definition: udf_registration_types.h:65
Udf_args_extension()
Definition: sql_udf.h:64
const CHARSET_INFO ** charset_info
Definition: sql_udf.h:65
const CHARSET_INFO * charset_info
Definition: sql_udf.h:78
Udf_return_value_extension(const CHARSET_INFO *charset_info=nullptr, Item_result result_type=INVALID_RESULT)
Definition: sql_udf.h:75
Item_result result_type
Definition: sql_udf.h:79
char * dl
Definition: sql_udf.h:47
ulong usage_count
Definition: sql_udf.h:54
Item_result returns
Definition: sql_udf.h:45
Udf_func_add func_add
Definition: sql_udf.h:53
void * dlhandle
Definition: sql_udf.h:48
Item_udftype type
Definition: sql_udf.h:46
LEX_STRING name
Definition: sql_udf.h:44
Udf_func_any func
Definition: sql_udf.h:49
Udf_func_clear func_clear
Definition: sql_udf.h:52
Udf_func_deinit func_deinit
Definition: sql_udf.h:51
Udf_func_init func_init
Definition: sql_udf.h:50
unsigned int uint
Definition: uca-dump.cc:29
void(* Udf_func_deinit)(UDF_INIT *)
Definition: udf_registration_types.h:79
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
@ INVALID_RESULT
Definition: udf_registration_types.h:39
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