|
bool | plugin_var_memalloc_global_update (THD *thd, SYS_VAR *var, char **dest, const char *value) |
| Set value for global variable with PLUGIN_VAR_MEMALLOC flag. More...
|
|
bool | plugin_var_memalloc_session_update (THD *thd, SYS_VAR *var, char **dest, const char *value) |
| Set value for thread local variable with PLUGIN_VAR_MEMALLOC flag. More...
|
|
SHOW_TYPE | pluginvar_show_type (SYS_VAR *plugin_var) |
|
const void * | pluginvar_default_value (SYS_VAR *plugin_var) |
|
uchar * | intern_sys_var_ptr (THD *thd, int offset, bool global_lock) |
|
int | item_value_type (st_mysql_value *value) |
|
const char * | item_val_str (st_mysql_value *value, char *buffer, int *length) |
|
int | item_val_int (st_mysql_value *value, long long *buf) |
|
int | item_is_unsigned (st_mysql_value *value) |
|
int | item_val_real (st_mysql_value *value, double *buf) |
|
int | check_func_bool (THD *, SYS_VAR *, void *save, st_mysql_value *value) |
|
int | check_func_int (THD *thd, SYS_VAR *var, void *save, st_mysql_value *value) |
|
int | check_func_long (THD *thd, SYS_VAR *var, void *save, st_mysql_value *value) |
|
int | check_func_longlong (THD *thd, SYS_VAR *var, void *save, st_mysql_value *value) |
|
int | check_func_str (THD *thd, SYS_VAR *, void *save, st_mysql_value *value) |
|
int | check_func_enum (THD *, SYS_VAR *var, void *save, st_mysql_value *value) |
|
int | check_func_set (THD *, SYS_VAR *var, void *save, st_mysql_value *value) |
|
int | check_func_double (THD *thd, SYS_VAR *var, void *save, st_mysql_value *value) |
|
void | update_func_bool (THD *, SYS_VAR *, void *tgt, const void *save) |
|
void | update_func_int (THD *, SYS_VAR *, void *tgt, const void *save) |
|
void | update_func_long (THD *, SYS_VAR *, void *tgt, const void *save) |
|
void | update_func_longlong (THD *, SYS_VAR *, void *tgt, const void *save) |
|
void | update_func_str (THD *, SYS_VAR *, void *tgt, const void *save) |
|
void | update_func_double (THD *, SYS_VAR *, void *tgt, const void *save) |
|
st_bookmark * | find_bookmark (const char *plugin, const char *name, int flags) |
|
void | plugin_opt_set_limits (struct my_option *options, const SYS_VAR *opt) |
|
bool plugin_var_memalloc_session_update |
( |
THD * |
thd, |
|
|
SYS_VAR * |
var, |
|
|
char ** |
dest, |
|
|
const char * |
value |
|
) |
| |
Set value for thread local variable with PLUGIN_VAR_MEMALLOC flag.
- Parameters
-
[in] | thd | Thread context. |
[in] | var | Plugin variable. |
[in,out] | dest | Destination memory pointer. |
[in] | value | '\0'-terminated new value. |
Most plugin variable values are stored on dynamic_variables_ptr. Releasing memory occupied by these values is as simple as freeing dynamic_variables_ptr.
An exception to the rule are PLUGIN_VAR_MEMALLOC variables, which are stored on individual memory hunks. All of these hunks has to be freed when it comes to cleanup.
It may happen that a plugin was uninstalled and descriptors of it's variables are lost. In this case it is impossible to locate corresponding values.
In addition to allocating and setting variable value, new element is added to dynamic_variables_allocs list. When thread is done, it has to call plugin_var_memalloc_free() to release memory used by PLUGIN_VAR_MEMALLOC variables.
If var is NULL, variable update function is not called. This is needed when we take snapshot of system variables during thread initialization.
- Note
- List element and variable value are stored on the same memory hunk. List element is followed by variable value.
- Returns
- Completion status
- Return values
-