MySQL 8.0.39
Source Code Documentation
|
Generic class for variables for storing entities that are internally represented as structures, have names, and possibly can be referred to by numbers. More...
#include <sys_vars.h>
Public Member Functions | |
Sys_var_struct (const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, void *def_val, PolyLock *lock=nullptr, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=nullptr, on_update_function on_update_func=nullptr, const char *substitute=nullptr, int parse_flag=PARSE_NORMAL) | |
bool | do_check (THD *, set_var *) override |
bool | session_update (THD *thd, set_var *var) override |
bool | global_update (THD *, set_var *var) override |
void | session_save_default (THD *, set_var *var) override |
save the session default value of the variable in var More... | |
void | global_save_default (THD *, set_var *var) override |
save the global default value of the variable in var More... | |
void | saved_value_to_string (THD *, set_var *var, char *def_val) override |
This function converts value stored in save_result to string. More... | |
bool | check_update_type (Item_result type) override |
const uchar * | session_value_ptr (THD *, THD *target_thd, std::string_view) override |
A pointer to a value of the variable for SHOW. More... | |
const uchar * | global_value_ptr (THD *, std::string_view) override |
Public Member Functions inherited from sys_var | |
sys_var (sys_var_chain *chain, const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, int getopt_id, enum get_opt_arg_type getopt_arg_type, SHOW_TYPE show_val_type_arg, longlong def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, on_update_function on_update_func, const char *substitute, int parse_flag, sys_var *persisted_alias=nullptr, bool is_persisted_deprecated=false) | |
sys_var constructor More... | |
virtual | ~sys_var ()=default |
const char * | get_deprecation_substitute () |
virtual void | cleanup () |
All the cleanup procedures should be performed here. More... | |
virtual sys_var_pluginvar * | cast_pluginvar () |
downcast for sys_var_pluginvar. More... | |
bool | check (THD *thd, set_var *var) |
const uchar * | value_ptr (THD *running_thd, THD *target_thd, enum_var_type type, std::string_view keycache_name) |
const uchar * | value_ptr (THD *thd, enum_var_type type, std::string_view keycache_name) |
virtual void | update_default (longlong new_def_value) |
virtual longlong | get_default () |
virtual longlong | get_min_value () |
virtual ulonglong | get_max_value () |
virtual ulong | get_var_type () |
Returns variable type. More... | |
virtual void | set_arg_source (get_opt_arg_source *) |
virtual void | set_is_plugin (bool) |
virtual enum_variable_source | get_source () |
virtual const char * | get_source_name () |
virtual void | set_source (enum_variable_source src) |
virtual bool | set_source_name (const char *path) |
virtual bool | set_user (const char *usr) |
virtual const char * | get_user () |
virtual const char * | get_host () |
virtual bool | set_host (const char *hst) |
virtual ulonglong | get_timestamp () const |
virtual void | set_user_host (THD *thd) |
my_option * | get_option () |
virtual void | set_timestamp () |
virtual void | set_timestamp (ulonglong ts) |
virtual bool | is_non_persistent () |
bool | set_default (THD *thd, set_var *var) |
Update the system variable with the default value from either session or global scope. More... | |
bool | update (THD *thd, set_var *var) |
SHOW_TYPE | show_type () |
int | scope () const |
const CHARSET_INFO * | charset (THD *thd) |
bool | is_readonly () const |
bool | not_visible () const |
bool | is_trilevel () const |
bool | is_persist_readonly () const |
bool | is_parse_early () const |
bool | is_sensitive () const |
bool | is_hint_updateable () const |
Check if the variable can be set using SET_VAR hint. More... | |
bool | is_struct () |
the following is only true for keycache variables, that support the syntax @keycache_name.variable_name More... | |
bool | is_written_to_binlog (enum_var_type type) |
bool | check_scope (enum_var_type query_type) |
Return true for success if: Global query and variable scope is GLOBAL or SESSION, or Session query and variable scope is SESSION or ONLY_SESSION. More... | |
bool | is_global_persist (enum_var_type type) |
bool | is_settable_at_command_line () |
Return true if settable at the command line. More... | |
bool | register_option (std::vector< my_option > *array, int parse_flags) |
void | do_deprecated_warning (THD *thd) |
Item * | copy_value (THD *thd) |
Create item from system variable value. More... | |
void | save_default (THD *thd, set_var *var) |
bool | check_if_sensitive_in_context (THD *, bool suppress_errors=true) const |
Additional Inherited Members | |
Public Types inherited from sys_var | |
enum | flag_enum { GLOBAL = 0x0001 , SESSION = 0x0002 , ONLY_SESSION = 0x0004 , SCOPE_MASK = 0x03FF , READONLY = 0x0400 , ALLOCATED = 0x0800 , INVISIBLE = 0x1000 , TRI_LEVEL = 0x2000 , NOTPERSIST = 0x4000 , HINT_UPDATEABLE = 0x8000 , PERSIST_AS_READ_ONLY = 0x10000 , SENSITIVE = 0x20000 } |
enum | binlog_status_enum { VARIABLE_NOT_IN_BINLOG , SESSION_VARIABLE_IN_BINLOG } |
Enumeration type to indicate for a system variable whether it will be written to the binlog or not. More... | |
Public Attributes inherited from sys_var | |
sys_var * | next |
LEX_CSTRING | name |
sys_var * | m_persisted_alias |
If the variable has an alias in the persisted variables file, this should point to it. More... | |
bool | m_is_persisted_deprecated |
If m_persist_alias is set, and the current variable is deprecated and m_persist_alias is the recommended substitute, then this flag should be set to true. More... | |
enum sys_var::binlog_status_enum | binlog_status |
Static Public Attributes inherited from sys_var | |
static const int | PARSE_EARLY = 1 |
static const int | PARSE_NORMAL = 2 |
Protected Types inherited from sys_var | |
typedef bool(* | on_check_function) (sys_var *self, THD *thd, set_var *var) |
typedef bool(* | pre_update_function) (sys_var *self, THD *thd, set_var *var) |
typedef bool(* | on_update_function) (sys_var *self, THD *thd, enum_var_type type) |
Protected Member Functions inherited from sys_var | |
uchar * | session_var_ptr (THD *thd) |
A pointer to a storage area of the variable, to the raw data. More... | |
uchar * | global_var_ptr () |
Protected Attributes inherited from sys_var | |
int | flags |
or'ed flag_enum values More... | |
int | m_parse_flag |
either PARSE_EARLY or PARSE_NORMAL. More... | |
const SHOW_TYPE | show_val_type |
what value_ptr() returns for sql_show.cc More... | |
my_option | option |
min, max, default values are stored here More... | |
PolyLock * | guard |
second lock that protects the variable More... | |
ptrdiff_t | offset |
offset to the value from global_system_variables More... | |
on_check_function | on_check |
pre_update_function | pre_update |
Pointer to function to be invoked before updating system variable (but after calling on_check hook), while we do not hold any locks yet. More... | |
on_update_function | on_update |
const char *const | deprecation_substitute |
bool | is_os_charset |
true if the value is in character_set_filesystem More... | |
struct get_opt_arg_source | source |
char | user [USERNAME_CHAR_LENGTH+1] |
char | host [HOSTNAME_LENGTH+1] |
ulonglong | timestamp |
Generic class for variables for storing entities that are internally represented as structures, have names, and possibly can be referred to by numbers.
Examples: character sets, collations, locales,
Backing store: void*
Struct_type | type of struct being wrapped |
Name_getter | must provide Name_getter(Struct_type*).get_name() |
|
inline |
|
inlineoverridevirtual |
Implements sys_var.
|
inlineoverridevirtual |
Implements sys_var.
|
inlineoverridevirtual |
save the global default value of the variable in var
Implements sys_var.
|
inlineoverridevirtual |
Implements sys_var.
|
inlineoverridevirtual |
Reimplemented from sys_var.
|
inlineoverridevirtual |
This function converts value stored in save_result to string.
This function must be called after calling save_default() as save_default() will store default value to save_result.
Implements sys_var.
|
inlineoverridevirtual |
save the session default value of the variable in var
Implements sys_var.
|
inlineoverridevirtual |
Implements sys_var.
|
inlineoverridevirtual |
A pointer to a value of the variable for SHOW.
It must be of show_val_type type (bool for SHOW_BOOL, int for SHOW_INT, longlong for SHOW_LONGLONG, etc).
Reimplemented from sys_var.