1#ifndef SET_VAR_INCLUDED 
    2#define SET_VAR_INCLUDED 
   70template <
class Key, 
class Value>
 
  193          int flag_args, ptrdiff_t off, 
int getopt_id,
 
  198          const char *substitute, 
int parse_flag,
 
  199          sys_var *persisted_alias = 
nullptr,
 
  200          bool is_persisted_deprecated = 
false);
 
  217                         std::string_view keycache_name);
 
  219                         std::string_view keycache_name);
 
  313    switch (query_type) {
 
  337           (array->push_back(
option), 
false);
 
  369    if (dst == 
string) 
return false;
 
  370    const size_t string_length = strlen(
string);
 
  371    const size_t length = std::min(sizeof_dst - 1, string_length);
 
  372    memcpy(dst, 
string, 
length);
 
  374    return length < string_length;  
 
  397                                         std::string_view keycache_name);
 
  399                                        std::string_view keycache_name);
 
  589                          std::string_view variable_name);
 
  622                                              std::string_view suffix);
 
  682                             : std::string_view{};
 
  819  template <
typename T>
 
  835                                  force_sensitive_variable_access,
 
  836                                  is_already_locked, is_single_thread)
 
  838               : std::optional<T>{
result};
 
  843    return m_cache.value().m_cached_show_type;
 
  848    return m_cache.value().m_cached_is_sensitive;
 
  853    return m_cache.value().m_cached_is_applied_as_command_line;
 
  864                                 bool strict, 
Array *output);
 
 1049                   char *current_password_arg, 
bool retain_current,
 
 1138#define PERSIST_ONLY_ADMIN_X509_SUBJECT "persist_only_admin_x509_subject" 
 1139#define PERSISTED_GLOBALS_LOAD "persisted_globals_load" 
This class is used to implement operations like SET @variable or @variable:= expression.
Definition: item_func.h:3224
 
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:936
 
Definition: sql_list.h:467
 
wrapper to hide a mutex and an rwlock under a common interface
Definition: sys_vars_shared.h:52
 
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:167
 
A sys_var that is an alias for another sys_var.
Definition: sys_vars.h:354
 
Wrapper interface for all kinds of system variables.
Definition: set_var.h:575
 
Lifetime lifetime() const
Definition: set_var.h:635
 
System_variable_tracker(Static, sys_var *var)
Definition: set_var.cc:637
 
static thread_local int m_hash_lock_recursion_depth
A non-zero value suppresses LOCK_system_variables_hash guards in System_variable_tracker::access_syst...
Definition: set_var.h:911
 
sys_var * get_stable_var() const
Definition: set_var.h:874
 
char m_keycache_var_name[NAME_LEN+sizeof(".key_cache_division_limit")]
A dot-separated key cache name or, for a reduced form of key cache variable names,...
Definition: set_var.h:922
 
sys_var * m_static_var
Definition: set_var.h:915
 
std::string_view get_keycache_name() const
Definition: set_var.h:679
 
Lifetime m_tag
Definition: set_var.h:898
 
void operator=(System_variable_tracker &&)
Definition: set_var.cc:744
 
SHOW_TYPE cached_show_type() const
Definition: set_var.h:841
 
static bool enumerate_sys_vars_in_hash(collation_unordered_map< std::string, sys_var * > *hash, enum enum_var_type query_scope, bool strict, System_variable_tracker::Array *output)
Definition: set_var.cc:1032
 
struct System_variable_tracker::@166::@170 m_plugin
 
static System_variable_tracker make_tracker(std::string_view prefix, std::string_view suffix)
Static "constructor".
Definition: set_var.cc:853
 
sys_var * m_plugin_var_cache
Definition: set_var.h:930
 
sys_var * m_component_var_cache
Definition: set_var.h:936
 
Lifetime
Definition: set_var.h:592
 
@ KEYCACHE
for MyISAM Multiple Key Cache variables
Definition: set_var.h:594
 
@ PLUGIN
for plugin-registered system variables
Definition: set_var.h:595
 
@ STATIC
for regular static variables
Definition: set_var.h:593
 
@ COMPONENT
for component-registered variables
Definition: set_var.h:596
 
struct System_variable_tracker::@166::@169 m_keycache
 
bool eq_static_sys_var(const sys_var *var) const
Definition: set_var.h:658
 
bool visit_component_variable(THD *, std::function< bool(sys_var *)>, Suppress_not_found_error, Is_already_locked, Is_single_thread) const
Definition: set_var.cc:1245
 
bool access_system_variable(THD *thd, std::function< void(const System_variable_tracker &, sys_var *)> function={}, Suppress_not_found_error suppress_not_found_error=Suppress_not_found_error::NO, Force_sensitive_system_variable_access force_sensitive_variable_access=Force_sensitive_system_variable_access::NO, Is_already_locked is_already_locked=Is_already_locked::NO, Is_single_thread is_single_thread=Is_single_thread::NO) const
Definition: set_var.cc:765
 
static bool enumerate_sys_vars(bool sort, enum enum_var_type type, bool strict, Array *output)
Constructs an array of system variables for display to the user.
Definition: set_var.cc:1115
 
void cache_metadata(THD *thd, sys_var *v) const
Definition: set_var.cc:1288
 
std::optional< Cache > m_cache
Definition: set_var.h:905
 
char m_plugin_var_name[NAME_LEN+1]
A "_"-separated plugin-registered variables name.
Definition: set_var.h:929
 
Prealloced_array< System_variable_tracker, SYSTEM_VARIABLE_PREALLOC > Array
Definition: set_var.h:860
 
struct System_variable_tracker::@166::@171 m_component
 
const char * get_var_name() const
Definition: set_var.cc:751
 
~System_variable_tracker()
Definition: set_var.cc:727
 
bool is_hint_updateable() const
Definition: set_var.h:689
 
sys_var * m_keycache_var
Definition: set_var.h:924
 
bool cached_is_sensitive() const
Definition: set_var.h:846
 
bool is_keycache_var() const
Definition: set_var.h:656
 
size_t m_keycache_name_size
Definition: set_var.h:923
 
bool cached_is_applied_as_command_line() const
Definition: set_var.h:851
 
bool operator==(const System_variable_tracker &x) const
Definition: set_var.h:637
 
struct System_variable_tracker::@166::@168 m_static
 
static bool names_are_same(const char *, const char *)
Definition: set_var.cc:849
 
char m_component_var_name[NAME_LEN+sizeof('.')+NAME_LEN+1]
A dot-separated component-registered variable name.
Definition: set_var.h:935
 
friend Array
Definition: set_var.h:861
 
std::optional< T > access_system_variable(THD *thd, std::function< T(const System_variable_tracker &, sys_var *)> function, Suppress_not_found_error suppress_not_found_error=Suppress_not_found_error::NO, Force_sensitive_system_variable_access force_sensitive_variable_access=Force_sensitive_system_variable_access::NO, Is_already_locked is_already_locked=Is_already_locked::NO, Is_single_thread is_single_thread=Is_single_thread::NO) const
Safely pass a sys_var object to a function.
Definition: set_var.h:820
 
bool visit_plugin_variable(THD *, std::function< bool(sys_var *)>, Suppress_not_found_error, Is_already_locked, Is_single_thread) const
Definition: set_var.cc:1142
 
static constexpr size_t SYSTEM_VARIABLE_PREALLOC
Number of system variable elements to preallocate.
Definition: set_var.h:857
 
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
 
This class represents abstract time zone and provides basic interface for MYSQL_TIME <-> my_time_t co...
Definition: tztime.h:49
 
std::unordered_map, but with my_malloc and collation-aware comparison.
Definition: map_helpers.h:219
 
A base class for everything that can be set with SET command.
Definition: set_var.h:950
 
virtual ~set_var_base()=default
 
virtual int check(THD *thd)=0
Evaluate the expression.
 
virtual int light_check(THD *thd)
Used only by prepared statements to resolve and check.
Definition: set_var.h:969
 
virtual bool is_sensitive() const
Used to identify if variable is sensitive or not.
Definition: set_var.h:972
 
virtual void cleanup()
Definition: set_var.h:963
 
virtual int resolve(THD *thd)=0
Check privileges & fix_fields.
 
virtual bool print(const THD *thd, String *str)=0
To self-print.
 
virtual int update(THD *thd)=0
Set the value.
 
virtual bool is_var_optimizer_trace() const
Definition: set_var.h:962
 
Definition: set_var.h:1064
 
set_cs_flags_enum
Definition: set_var.h:1071
 
@ SET_CS_DEFAULT
Definition: set_var.h:1073
 
@ SET_CS_NAMES
Definition: set_var.h:1072
 
@ SET_CS_COLLATE
Definition: set_var.h:1074
 
const CHARSET_INFO * character_set_client
Definition: set_var.h:1066
 
const CHARSET_INFO * character_set_results
Definition: set_var.h:1067
 
const CHARSET_INFO * collation_connection
Definition: set_var.h:1068
 
set_var_collation_client(int set_cs_flags_arg, const CHARSET_INFO *client_coll_arg, const CHARSET_INFO *connection_coll_arg, const CHARSET_INFO *result_coll_arg)
Definition: set_var.h:1076
 
bool print(const THD *thd, String *str) override
To self-print.
Definition: set_var.cc:2126
 
int update(THD *thd) override
Set the value.
Definition: set_var.cc:2098
 
int set_cs_flags
Definition: set_var.h:1065
 
int resolve(THD *) override
Check privileges & fix_fields.
Definition: set_var.h:1084
 
int check(THD *thd) override
Evaluate the expression.
Definition: set_var.cc:2088
 
Definition: set_var.h:1039
 
LEX_USER * user
Definition: set_var.h:1040
 
char * str_generated_password
Definition: set_var.h:1045
 
int check(THD *thd) override
Check the validity of the SET PASSWORD request.
Definition: set_var.cc:2031
 
set_var_password(LEX_USER *user_arg, char *password_arg, char *current_password_arg, bool retain_current, bool generate_password)
Definition: set_var.cc:2001
 
bool print(const THD *thd, String *str) override
To self-print.
Definition: set_var.cc:2063
 
bool retain_current_password
Definition: set_var.h:1043
 
bool has_generated_password(void)
Definition: set_var.h:1053
 
int resolve(THD *) override
Check privileges & fix_fields.
Definition: set_var.h:1055
 
const LEX_USER * get_user(void)
Definition: set_var.h:1052
 
const char * get_generated_password(void)
Definition: set_var.h:1054
 
char * password
Definition: set_var.h:1041
 
int update(THD *thd) override
Set the value.
Definition: set_var.cc:2039
 
bool generate_password
Definition: set_var.h:1044
 
~set_var_password() override
Definition: set_var.cc:2017
 
const char * current_password
Definition: set_var.h:1042
 
Definition: set_var.h:1027
 
int check(THD *thd) override
Evaluate the expression.
Definition: set_var.cc:1951
 
int update(THD *thd) override
Set the value.
Definition: set_var.cc:1979
 
set_var_user(Item_func_set_user_var *item)
Definition: set_var.h:1031
 
int resolve(THD *thd) override
Check privileges & fix_fields.
Definition: set_var.cc:1942
 
Item_func_set_user_var * user_var_item
Definition: set_var.h:1028
 
bool print(const THD *thd, String *str) override
To self-print.
Definition: set_var.cc:1992
 
int light_check(THD *thd) override
Check variable, but without assigning value (used by PS).
Definition: set_var.cc:1971
 
set_var_base descendant for assignments to the system variables.
Definition: set_var.h:978
 
ulonglong ulonglong_value
for all integer, set, enum sysvars
Definition: set_var.h:984
 
int resolve(THD *thd) override
Resolve the variable assignment.
Definition: set_var.cc:1648
 
set_var(enum_var_type type_arg, const System_variable_tracker &var_arg, Item *value_arg)
Definition: set_var.h:996
 
int update(THD *thd) override
Update variable.
Definition: set_var.cc:1858
 
const enum_var_type type
Definition: set_var.h:981
 
const System_variable_tracker m_var_tracker
Definition: set_var.h:993
 
void update_source_user_host_timestamp(THD *thd, sys_var *var)
Update variable source, user, host and timestamp values.
Definition: set_var.cc:1839
 
bool is_global_persist()
Definition: set_var.h:1012
 
union set_var::@172 save_result
Resolver of the variable at the left hand side of the assignment.
 
Time_zone * time_zone
for Sys_var_tz
Definition: set_var.h:987
 
int light_check(THD *thd) override
Check variable, but without assigning value (used by PS).
Definition: set_var.cc:1788
 
Item * value
the expression that provides the new value of the variable
Definition: set_var.h:980
 
int check(THD *thd) override
Verify that the supplied value is correct.
Definition: set_var.cc:1731
 
LEX_STRING string_value
for Sys_var_charptr and others
Definition: set_var.h:988
 
bool is_sensitive() const override
Check if system variable is of type SENSITIVE.
Definition: set_var.cc:1934
 
bool print(const THD *, String *str) override
Self-print assignment.
Definition: set_var.cc:1907
 
bool is_var_optimizer_trace() const override
Definition: set_var.h:1016
 
plugin_ref plugin
for Sys_var_plugin
Definition: set_var.h:986
 
void print_short(const THD *thd, String *str)
Print variable in short form.
Definition: set_var.cc:1886
 
const void * ptr
for Sys_var_struct
Definition: set_var.h:989
 
double double_value
for Sys_var_double
Definition: set_var.h:985
 
Definition: sql_plugin_var.h:197
 
A class representing one system variable - that is something that can be accessed as @global....
Definition: set_var.h:106
 
static const int PARSE_EARLY
Definition: set_var.h:154
 
virtual bool global_update(THD *thd, set_var *var)=0
 
bool is_hint_updateable() const
Check if the variable can be set using SET_VAR hint.
Definition: set_var.h:288
 
virtual bool set_source_name(const char *path)
Definition: set_var.h:239
 
my_option option
min, max, default values are stored here
Definition: set_var.h:174
 
my_option * get_option()
Definition: set_var.h:253
 
bool(* on_update_function)(sys_var *self, THD *thd, enum_var_type type)
Definition: set_var.h:168
 
virtual void session_save_default(THD *thd, set_var *var)=0
save the session default value of the variable in var
 
LEX_CSTRING name
Definition: set_var.h:109
 
virtual void set_arg_source(get_opt_arg_source *)
Definition: set_var.h:232
 
sys_var * next
Definition: set_var.h:108
 
char host[HOSTNAME_LENGTH+1]
Definition: set_var.h:188
 
virtual const char * get_host()
Definition: set_var.h:247
 
virtual ulonglong get_max_value()
Definition: set_var.h:225
 
virtual void set_user_host(THD *thd)
Definition: set_var.cc:458
 
uchar * global_var_ptr()
Definition: set_var.cc:405
 
bool m_is_persisted_deprecated
If m_persist_alias is set, and the current variable is deprecated and m_persist_alias is the recommen...
Definition: set_var.h:126
 
bool is_sensitive() const
Definition: set_var.h:281
 
bool check(THD *thd, set_var *var)
Definition: set_var.cc:409
 
enum sys_var::binlog_status_enum binlog_status
 
uchar * session_var_ptr(THD *thd)
A pointer to a storage area of the variable, to the raw data.
Definition: set_var.cc:401
 
void save_default(THD *thd, set_var *var)
Definition: set_var.h:350
 
bool register_option(std::vector< my_option > *array, int parse_flags)
Definition: set_var.h:335
 
flag_enum
Definition: set_var.h:127
 
@ SESSION
Definition: set_var.h:129
 
@ GLOBAL
Definition: set_var.h:128
 
@ INVISIBLE
Definition: set_var.h:134
 
@ SENSITIVE
Sensitive variable.
Definition: set_var.h:152
 
@ READONLY
Definition: set_var.h:132
 
@ SCOPE_MASK
Definition: set_var.h:131
 
@ ALLOCATED
Definition: set_var.h:133
 
@ NOTPERSIST
Definition: set_var.h:136
 
@ TRI_LEVEL
Definition: set_var.h:135
 
@ PERSIST_AS_READ_ONLY
There can be some variables which needs to be set before plugin is loaded.
Definition: set_var.h:147
 
@ HINT_UPDATEABLE
Definition: set_var.h:137
 
@ ONLY_SESSION
Definition: set_var.h:130
 
virtual bool do_check(THD *thd, set_var *var)=0
 
sys_var * m_persisted_alias
If the variable has an alias in the persisted variables file, this should point to it.
Definition: set_var.h:118
 
bool is_global_persist(enum_var_type type)
Definition: set_var.h:325
 
virtual bool check_update_type(Item_result type)=0
 
virtual void set_timestamp(ulonglong ts)
Definition: set_var.h:255
 
const uchar * value_ptr(THD *running_thd, THD *target_thd, enum_var_type type, std::string_view keycache_name)
Definition: set_var.cc:431
 
virtual const char * get_user()
Definition: set_var.h:246
 
virtual void cleanup()
All the cleanup procedures should be performed here.
Definition: set_var.h:208
 
virtual longlong get_min_value()
Definition: set_var.h:224
 
virtual ~sys_var()=default
 
virtual void set_is_plugin(bool)
Definition: set_var.h:233
 
binlog_status_enum
Enumeration type to indicate for a system variable whether it will be written to the binlog or not.
Definition: set_var.h:160
 
@ SESSION_VARIABLE_IN_BINLOG
Definition: set_var.h:162
 
@ VARIABLE_NOT_IN_BINLOG
Definition: set_var.h:161
 
virtual void saved_value_to_string(THD *thd, set_var *var, char *def_val)=0
This function converts value stored in save_result to string.
 
bool is_os_charset
true if the value is in character_set_filesystem
Definition: set_var.h:185
 
bool is_parse_early() const
Definition: set_var.h:280
 
ptrdiff_t offset
offset to the value from global_system_variables
Definition: set_var.h:176
 
virtual bool set_user(const char *usr)
Definition: set_var.h:243
 
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 an...
Definition: set_var.h:312
 
bool(* on_check_function)(sys_var *self, THD *thd, set_var *var)
Definition: set_var.h:166
 
virtual enum_variable_source get_source()
Definition: set_var.h:234
 
SHOW_TYPE show_type()
Definition: set_var.h:273
 
virtual void global_save_default(THD *thd, set_var *var)=0
save the global default value of the variable in var
 
virtual const uchar * global_value_ptr(THD *thd, std::string_view keycache_name)
Definition: set_var.cc:397
 
const char * get_deprecation_substitute()
Definition: set_var.h:204
 
on_check_function on_check
Definition: set_var.h:177
 
const CHARSET_INFO * charset(THD *thd)
Definition: set_var.cc:593
 
virtual ulong get_var_type()
Returns variable type.
Definition: set_var.h:231
 
bool is_struct()
the following is only true for keycache variables, that support the syntax @keycache_name....
Definition: set_var.h:293
 
virtual const char * get_source_name()
Definition: set_var.h:235
 
bool set_default(THD *thd, set_var *var)
Update the system variable with the default value from either session or global scope.
Definition: set_var.cc:447
 
pre_update_function pre_update
Pointer to function to be invoked before updating system variable (but after calling on_check hook),...
Definition: set_var.h:182
 
bool is_trilevel() const
Definition: set_var.h:278
 
bool is_persist_readonly() const
Definition: set_var.h:279
 
void do_deprecated_warning(THD *thd)
Definition: set_var.cc:481
 
int scope() const
Definition: set_var.h:274
 
struct get_opt_arg_source source
Definition: set_var.h:186
 
virtual void set_timestamp()
Definition: set_var.h:254
 
const SHOW_TYPE show_val_type
what value_ptr() returns for sql_show.cc
Definition: set_var.h:173
 
on_update_function on_update
Definition: set_var.h:183
 
int flags
or'ed flag_enum values
Definition: set_var.h:171
 
static const int PARSE_NORMAL
Definition: set_var.h:155
 
bool update(THD *thd, set_var *var)
Definition: set_var.cc:341
 
char user[USERNAME_CHAR_LENGTH+1]
Definition: set_var.h:187
 
bool is_written_to_binlog(enum_var_type type)
Definition: set_var.h:302
 
virtual const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view keycache_name)
A pointer to a value of the variable for SHOW.
Definition: set_var.cc:392
 
bool check_if_sensitive_in_context(THD *, bool suppress_errors=true) const
Definition: set_var.cc:1367
 
virtual void update_default(longlong new_def_value)
Definition: set_var.h:220
 
virtual bool set_host(const char *hst)
Definition: set_var.h:248
 
bool not_visible() const
Definition: set_var.h:277
 
bool is_settable_at_command_line()
Return true if settable at the command line.
Definition: set_var.h:333
 
PolyLock * guard
second lock that protects the variable
Definition: set_var.h:175
 
virtual longlong get_default()
Definition: set_var.h:223
 
virtual bool is_non_persistent()
Definition: set_var.h:256
 
virtual sys_var_pluginvar * cast_pluginvar()
downcast for sys_var_pluginvar.
Definition: set_var.h:213
 
Item * copy_value(THD *thd)
Create item from system variable value.
Definition: set_var.cc:502
 
const char *const deprecation_substitute
Definition: set_var.h:184
 
virtual ulonglong get_timestamp() const
Definition: set_var.h:251
 
static bool set_and_truncate(char *dst, const char *string, size_t sizeof_dst)
Like strncpy, but ensures the destination is '\0'-terminated.
Definition: set_var.h:367
 
bool(* pre_update_function)(sys_var *self, THD *thd, set_var *var)
Definition: set_var.h:167
 
bool is_readonly() const
Definition: set_var.h:276
 
virtual bool session_update(THD *thd, set_var *var)=0
 
int m_parse_flag
either PARSE_EARLY or PARSE_NORMAL.
Definition: set_var.h:172
 
ulonglong timestamp
Definition: set_var.h:189
 
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
Definition: set_var.cc:272
 
virtual void set_source(enum_variable_source src)
Definition: set_var.h:236
 
uint64_t sql_mode_t
Definition: dd_event.h:39
 
#define comment
Definition: lexyy.cc:959
 
static int opened
Definition: log_filter_dragnet.cc:123
 
A better implementation of the UNIX ctype(3) library.
 
void my_abort()
Calls our own implementation of abort, if specified, or std's abort().
Definition: my_init.cc:266
 
get_opt_arg_type
Enumeration of the my_option::arg_type attributes.
Definition: my_getopt.h:81
 
#define GET_TYPE_MASK
Definition: my_getopt.h:72
 
#define GET_ASK_ADDR
Definition: my_getopt.h:71
 
Common definition used by mysys, performance schema and server & client.
 
static constexpr int HOSTNAME_LENGTH
Definition: my_hostname.h:43
 
Some integer typedefs for easier portability.
 
unsigned long long int ulonglong
Definition: my_inttypes.h:56
 
unsigned char uchar
Definition: my_inttypes.h:52
 
long long int longlong
Definition: my_inttypes.h:55
 
Common header for many mysys elements.
 
Defines for getting and processing the current system type programmatically.
 
unsigned long long int my_micro_time()
Return time in microseconds.
Definition: my_systime.h:182
 
Common definition between mysql server & client.
 
#define NAME_LEN
Definition: mysql_com.h:67
 
#define USERNAME_CHAR_LENGTH
Definition: mysql_com.h:64
 
static char * path
Definition: mysqldump.cc:149
 
static const char * sql_mode
Definition: mysqlslap.cc:199
 
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1087
 
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
 
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
 
struct result result
Definition: result.h:34
 
repeated Source source
Definition: replication_asynchronous_connection_failover.proto:42
 
required string type
Definition: replication_group_member_actions.proto:34
 
ulonglong dynamic_system_variable_hash_version
Definition: set_var.cc:93
 
int sys_var_init()
Definition: set_var.cc:144
 
sys_var * Sys_gtid_purged_ptr
Definition: sys_vars.cc:6526
 
enum enum_mysql_show_type SHOW_TYPE
Definition: set_var.h:74
 
SHOW_COMP_OPTION have_rtree_keys
Definition: set_var.h:1095
 
char * sys_var_persist_only_admin_x509_subject
global X509 subject name to require from the client session to allow SET PERSIST[_ONLY] on sys_var::N...
Definition: set_var.cc:1577
 
Force_sensitive_system_variable_access
Definition: set_var.h:415
 
collation_unordered_map< std::string, sys_var * > * get_dynamic_system_variable_hash(void)
Definition: set_var.cc:99
 
collation_unordered_map< std::string, sys_var * > * get_static_system_variable_hash(void)
Definition: set_var.cc:95
 
SHOW_COMP_OPTION have_profiling
Definition: mysqld.cc:1554
 
bool fix_delay_key_write(sys_var *self, THD *thd, enum_var_type type)
Definition: sys_vars.cc:2029
 
bool get_sysvar_source(const char *name, uint length, enum enum_variable_source *source)
Get source of a given system variable given its name and name length.
Definition: set_var.cc:111
 
enum enum_mysql_show_scope SHOW_SCOPE
Definition: set_var.h:75
 
Is_single_thread
Definition: set_var.h:419
 
SHOW_COMP_OPTION have_compress
Definition: mysqld.cc:1553
 
sys_var * Sys_gtid_next_ptr
Definition: sys_vars.cc:6415
 
ulong get_system_variable_count(void)
Definition: set_var.cc:1019
 
SHOW_COMP_OPTION have_symlink
Definition: mysqld.cc:1551
 
SHOW_COMP_OPTION have_statement_timeout
Definition: mysqld.cc:1555
 
bool add_static_system_variable_chain(sys_var *chain)
Add variables to the hash of static system variables.
Definition: set_var.cc:982
 
bool sql_mode_string_representation(THD *thd, sql_mode_t sql_mode, LEX_STRING *ls)
Definition: sys_vars.cc:4759
 
bool add_dynamic_system_variable_chain(sys_var *chain)
Add variables to the dynamic hash of system variables.
Definition: set_var.cc:956
 
Is_already_locked
Definition: set_var.h:417
 
void delete_dynamic_system_variable_chain(sys_var *chain)
Remove variables from the dynamic hash of system variables.
Definition: set_var.cc:1007
 
bool keyring_access_test()
This function is used to check if key management UDFs like keying_key_generate/store/remove should pr...
Definition: set_var.cc:1559
 
SHOW_COMP_OPTION have_geometry
Definition: mysqld.cc:1552
 
bool sql_mode_quoted_string_representation(THD *thd, sql_mode_t sql_mode, LEX_STRING *ls)
Definition: sys_vars.cc:4764
 
sys_var * Sys_autocommit_ptr
Definition: sys_vars.cc:5236
 
int sql_set_variables(THD *thd, List< set_var_base > *var_list, bool opened)
Execute update of all variables.
Definition: set_var.cc:1419
 
Suppress_not_found_error
Definition: set_var.h:413
 
ulonglong get_dynamic_system_variable_hash_version(void)
Definition: set_var.cc:1028
 
TYPELIB bool_typelib
Definition: sys_vars.cc:220
 
void sys_var_end(void)
Definition: set_var.cc:183
 
const CHARSET_INFO * get_old_charset_by_name(const char *old_name)
Definition: set_var.cc:930
 
int sys_var_add_options(std::vector< my_option > *long_options, int parse_flags)
Definition: set_var.cc:169
 
enum_var_type
Definition: set_var.h:91
 
@ OPT_PERSIST_ONLY
Definition: set_var.h:96
 
@ OPT_PERSIST
Definition: set_var.h:95
 
@ OPT_GLOBAL
Definition: set_var.h:94
 
@ OPT_DEFAULT
Definition: set_var.h:92
 
@ OPT_SESSION
Definition: set_var.h:93
 
sql_mode_t expand_sql_mode(sql_mode_t sql_mode, THD *thd)
Definition: sys_vars.cc:4651
 
bool check_priv(THD *thd, bool static_variable)
This function will check for necessary privileges needed to perform RESET PERSIST or SET PERSIST[_ONL...
Definition: set_var.cc:207
 
SHOW_COMP_OPTION have_query_cache
Definition: mysqld.cc:1551
 
SHOW_COMP_OPTION have_dlopen
Definition: set_var.h:1093
 
sys_var * Sys_gtid_next_list_ptr
 
File containing constants that can be used throughout the server.
 
SHOW_COMP_OPTION
Definition: sql_const.h:228
 
case opt name
Definition: sslopt-case.h:29
 
enum_mysql_show_type
Declarations for SHOW STATUS support in plugins.
Definition: status_var.h:30
 
enum_mysql_show_scope
Status variable scope.
Definition: status_var.h:68
 
Definition: m_ctype.h:423
 
Definition: mysql_lex_string.h:40
 
Definition: mysql_lex_string.h:35
 
Definition: set_var.h:900
 
bool m_cached_is_applied_as_command_line
Definition: set_var.h:903
 
bool m_cached_is_sensitive
Definition: set_var.h:902
 
SHOW_TYPE m_cached_show_type
Definition: set_var.h:901
 
Definition: set_var.h:579
 
Definition: set_var.h:577
 
Definition: set_var.h:578
 
Definition: set_var.h:576
 
Definition: my_getopt.h:83
 
char m_path_name[FN_REFLEN]
config file path OR compiled default values
Definition: my_getopt.h:87
 
enum enum_variable_source m_source
Definition: my_getopt.h:88
 
Definition: my_getopt.h:93
 
longlong min_value
Min allowed value (for numbers)
Definition: my_getopt.h:123
 
ulonglong max_value
Max allowed value (for numbers)
Definition: my_getopt.h:124
 
longlong def_value
Default value.
Definition: my_getopt.h:122
 
ulong var_type
GET_BOOL, GET_ULL, etc.
Definition: my_getopt.h:120
 
int id
For 0<id<=255 it's means one character for a short option (like -A), if >255 no short option is creat...
Definition: my_getopt.h:98
 
struct get_opt_arg_source * arg_source
Represents source/path from where this variable is set.
Definition: my_getopt.h:125
 
Definition: sql_plugin_ref.h:45
 
sys_var * first
Definition: set_var.h:82
 
sys_var * last
Definition: set_var.h:83
 
export sys_var * Sys_optimizer_trace_ptr
Definition: sys_vars.cc:3350
 
enum_variable_source
This enum values define how system variables are set.
Definition: system_variable_source_type.h:33
 
Item_result
Type of the user defined function return slot and arguments.
Definition: udf_registration_types.h:39