1#ifndef SYS_VARS_H_INCLUDED
2#define SYS_VARS_H_INCLUDED
60#include "mysqld_error.h"
104template <
typename Struct_type,
typename Name_getter>
106template <
typename T, u
long ARGT, enum enum_mysql_show_type SHOWT,
bool SIGNED>
122#define VALID_RANGE(X, Y) X, Y
124#define BLOCK_SIZE(X) X
125#define GLOBAL_VAR(X) \
126 sys_var::GLOBAL, (((const char *)&(X)) - (char *)&global_system_variables), \
128#define SESSION_VAR(X) \
129 sys_var::SESSION, offsetof(System_variables, X), \
130 sizeof(((System_variables *)nullptr)->X)
131#define SESSION_ONLY(X) \
132 sys_var::ONLY_SESSION, offsetof(System_variables, X), \
133 sizeof(((System_variables *)nullptr)->X)
134#define NO_CMD_LINE CMD_LINE(NO_ARG, -1)
139#define NO_MUTEX_GUARD ((PolyLock *)nullptr)
140#define IN_BINLOG sys_var::SESSION_VARIABLE_IN_BINLOG
141#define NOT_IN_BINLOG sys_var::VARIABLE_NOT_IN_BINLOG
144#define PRE_UPDATE(X) X
145#define ON_UPDATE(X) X
146#define READ_ONLY sys_var::READONLY +
147#define NOT_VISIBLE sys_var::INVISIBLE +
148#define UNTRACKED_DEFAULT sys_var::TRI_LEVEL +
149#define HINT_UPDATEABLE sys_var::HINT_UPDATEABLE +
151#define PREALLOCATED sys_var::ALLOCATED +
152#define NON_PERSIST sys_var::NOTPERSIST +
153#define PERSIST_AS_READONLY sys_var::PERSIST_AS_READ_ONLY +
154#define SENSITIVE sys_var::SENSITIVE +
160#define REVERSE(X) ~(X)
161#define DEPRECATED_VAR(X) X
163#define session_var(THD, TYPE) (*(TYPE *)session_var_ptr(THD))
164#define global_var(TYPE) (*(TYPE *)global_var_ptr())
166#define GET_HA_ROWS GET_ULL
202template <
typename T, u
long ARGT, enum enum_mysql_show_type SHOWT,
bool SIGNED>
206 const char *name_arg,
const char *
comment,
int flag_args,
207 ptrdiff_t off,
size_t size [[maybe_unused]],
CMD_LINE getopt,
208 T min_val,
T max_val,
T def_val, uint block_size,
213 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
216 binlog_status_arg, on_check_func, on_update_func,
217 substitute, parse_flag) {
219 if ((min_val % block_size) != 0)
220 min_val += block_size - (min_val % block_size);
230 assert(
size ==
sizeof(
T));
231 assert(min_val <= def_val);
232 assert(def_val <= max_val);
233 assert(block_size > 0);
235 assert(def_val % block_size == 0);
386 const char *deprecation_substitute_arg,
387 sys_var *persisted_alias,
bool is_persisted_deprecated)
394 persisted_alias, is_persisted_deprecated),
471 std::string_view keycache_name)
override {
475 std::string_view keycache_name)
override {
565 m_comment = std::string(
"This option is deprecated. Use ") +
588 binlog_status_arg, on_check_func, on_update_func, substitute,
603 if (!(res = var->value->val_str(&
str)))
605 else if (!(var->save_result.ulonglong_value =
609 var->save_result.ulonglong_value--;
611 const longlong tmp = var->value->val_int();
615 var->save_result.ulonglong_value = tmp;
642 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
643 size_t size [[maybe_unused]],
CMD_LINE getopt,
const char *values[],
648 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
650 values, def_val,
lock, binlog_status_arg, on_check_func,
651 on_update_func, substitute, parse_flag) {
655 assert(
size ==
sizeof(ulong));
677 std::string_view)
override {
678 return pointer_cast<const uchar *>(
695 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
696 size_t size [[maybe_unused]],
CMD_LINE getopt,
bool def_val,
701 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
704 on_check_func, on_update_func, substitute, parse_flag) {
708 assert(
size ==
sizeof(
bool));
808 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
810 uint value_count_arg, uint def_val, uint command_line_no_value_arg,
815 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
818 on_check_func, on_update_func, substitute, parse_flag),
833 assert(
size ==
sizeof(ulong));
867 if (value_str ==
nullptr) {
877 value = strtol(value_str, &
end, 10);
879 if (
end > value_str && *
end ==
'\0')
897 if (!res)
return true;
903 &valid_len, &len_error))
907 if (
value == -1)
return true;
1018 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1020 enum charset_enum is_os_charset_arg,
const char *def_val,
1025 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
1028 binlog_status_arg, on_check_func, on_update_func, substitute,
1033 assert(
size ==
sizeof(
char *));
1038 flags &= ~ALLOCATED;
1095 :
const_cast<char *
>(
"");
1111 enum charset_enum is_os_charset_arg,
const char *def_val)
1113 is_os_charset_arg, def_val) {}
1118 std::string_view keycache_name)
override {
1122 static const char *altered_value =
"some-other-version";
1123 const uchar *altered_value_ptr = pointer_cast<uchar *>(&altered_value);
1124 value = altered_value_ptr;
1163 std::string_view)
override {
1165 return proxy_user[0] ? pointer_cast<const uchar *>(proxy_user) :
nullptr;
1177 std::string_view)
override {
1180 return external_user.
length ? pointer_cast<const uchar *>(external_user.
str)
1200 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1202 enum charset_enum is_os_charset_arg,
const char *def_val,
1207 const char *substitute =
nullptr)
1209 getopt, is_os_charset_arg, def_val,
lock,
1210 binlog_status_arg, on_check_func, on_update_func,
1238 const char *name_arg,
const char *
comment,
int flag_args,
CMD_LINE getopt,
1243 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
1246 binlog_status_arg, on_check_func, on_update_func, substitute,
1284 std::string_view)
override {
1300#define KEYCACHE_VAR(X) \
1301 sys_var::GLOBAL, offsetof(KEY_CACHE, X), sizeof(((KEY_CACHE *)nullptr)->X)
1302#define keycache_var_ptr(KC, OFF) (((uchar *)(KC)) + (OFF))
1303#define keycache_var(KC, OFF) (*(ulonglong *)keycache_var_ptr(KC, OFF))
1329 const char *substitute =
nullptr)
1331 name_arg,
comment, flag_args, -1,
1332 size, getopt, min_val, max_val, def_val, block_size,
lock,
1333 binlog_status_arg, on_check_func,
nullptr, substitute),
1352 "is deprecated and will be removed in a "
1370 if (key_cache->
in_init)
return true;
1375 std::string_view keycache_name)
override {
1376 if (!keycache_name.empty())
1378 ER_WARN_DEPRECATED_SYNTAX,
1379 "@@global.%.*s.%s syntax "
1380 "is deprecated and will be removed in a "
1382 static_cast<int>(keycache_name.size()),
1383 keycache_name.data(),
name.
str);
1401 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1402 size_t size [[maybe_unused]],
CMD_LINE getopt,
double min_val,
1403 double max_val,
double def_val,
PolyLock *
lock =
nullptr,
1407 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
1411 binlog_status_arg, on_check_func, on_update_func, substitute,
1417 assert(min_val <= max_val);
1418 assert(min_val <= def_val);
1419 assert(max_val >= def_val);
1420 assert(
size ==
sizeof(
double));
1493 const char *name_arg,
const char *
comment,
int, ptrdiff_t off,
1494 size_t size,
CMD_LINE getopt, uint min_val, uint max_val, uint def_val,
1499 const char *substitute =
nullptr)
1501 max_val, def_val, block_size,
lock, binlog_status_arg,
1502 on_check_func, on_update_func, substitute) {}
1504 std::string_view keycache_name)
override {
1513#define MAX_SET(X) ((((1ULL << ((X)-1)) - 1) << 1) | 1)
1532 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1533 size_t size [[maybe_unused]],
CMD_LINE getopt,
const char *values[],
1538 const char *substitute =
nullptr)
1540 values, def_val,
lock, binlog_status_arg, on_check_func,
1541 on_update_func, substitute) {
1547 assert(strcmp(values[
typelib.
count - 1],
"default") == 0);
1571 static_cast<uint
>(res->
length()), &
error, &error_len);
1580 if ((tmp < 0 && !var->
value->unsigned_flag) ||
1609 std::string_view)
override {
1632 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1633 size_t size [[maybe_unused]],
CMD_LINE getopt,
const char *values[],
1638 const char *substitute =
nullptr)
1640 values, def_val,
lock, binlog_status_arg, on_check_func,
1641 on_update_func, substitute) {
1663 nullptr, &
error, &error_len, ¬_used);
1677 if ((tmp < 0 && !var->
value->unsigned_flag) ||
1706 std::string_view)
override {
1736 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1737 size_t size [[maybe_unused]],
CMD_LINE getopt,
int plugin_type_arg,
1750 assert(getopt.
id == -1);
1779 const auto *hton = plugin_data<handlerton *>(plugin);
1792 if (oldval != newval) {
1812 pname.
str = *default_value;
1833 std::string_view)
override {
1847#if defined(ENABLED_DEBUG_SYNC)
1851class Sys_var_debug_sync :
public sys_var {
1854 const char *name_arg,
const char *
comment,
int flag_args,
CMD_LINE getopt,
1856 enum binlog_status_enum binlog_status_arg = VARIABLE_NOT_IN_BINLOG,
1857 on_check_function on_check_func =
nullptr,
1858 on_update_function on_update_func =
nullptr,
1859 const char *substitute =
nullptr,
int parse_flag = PARSE_NORMAL)
1862 binlog_status_arg, on_check_func, on_update_func, substitute,
1864 assert(
scope() == ONLY_SESSION);
1894 std::string_view)
override {
1895 return debug_sync_value_ptr(running_thd);
1938 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
1945 const char *substitute =
nullptr)
1948 on_check_func, on_update_func, substitute) {
1954 assert(getopt.
id == -1);
1975 std::string_view)
override {
2018 const char *substitute =
nullptr)
2020 getopt, min_val, max_val, 0, block_size,
lock,
2021 binlog_status_arg, on_check_func,
nullptr,
2026 assert(getopt.
id == -1);
2036 var->
value =
nullptr;
2043 std::string_view)
override {
2065 const char *name_arg,
const char *
comment,
int flag_args,
CMD_LINE getopt,
2071 const char *substitute =
nullptr)
2073 min_val, max_val, 0.0,
lock, binlog_status_arg,
2074 on_check_func,
nullptr, substitute),
2078 assert(getopt.
id == -1);
2088 var->
value =
nullptr;
2095 std::string_view)
override {
2118 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2123 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
2126 on_check_func, on_update_func, substitute, parse_flag) {
2128 assert(getopt.
id == -1);
2129 assert(
lock ==
nullptr);
2155 return pointer_cast<const uchar *>(
2180 const char *substitute =
nullptr)
2213template <
typename Struct_type,
typename Name_getter>
2217 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2218 size_t size [[maybe_unused]],
CMD_LINE getopt,
void *def_val,
2223 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
2226 binlog_status_arg, on_check_func, on_update_func, substitute,
2237 assert(getopt.
id == -1);
2238 assert(
size ==
sizeof(
void *));
2257 const Struct_type *ptr =
2260 strcpy(def_val, pointer_cast<const char *>(Name_getter(ptr).get_name()));
2266 std::string_view)
override {
2267 const Struct_type *ptr =
session_var(target_thd,
const Struct_type *);
2268 return ptr ? Name_getter(ptr).get_name() :
nullptr;
2271 const Struct_type *ptr =
global_var(
const Struct_type *);
2272 return ptr ? Name_getter(ptr).get_name() :
nullptr;
2289 ptrdiff_t off,
size_t size [[maybe_unused]],
CMD_LINE getopt,
2294 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
2297 binlog_status_arg, on_check_func, on_update_func, substitute,
2299 assert(getopt.
id == -1);
2308 if (!res)
return true;
2335 std::string_view)
override {
2345 return pointer_cast<const uchar *>(
2349 return pointer_cast<const uchar *>(
2366 int flag_args, ptrdiff_t off,
size_t size,
2367 CMD_LINE getopt,
const char *values[],
2372 def_val,
lock, binlog_status_arg, on_check_func) {}
2388 int flag_args, ptrdiff_t off,
size_t size,
2393 lock, binlog_status_arg, on_check_func) {}
2404 int flag_args, ptrdiff_t off,
size_t size,
2405 CMD_LINE getopt,
const char *values[],
2410 size, getopt, values, def_val,
lock, binlog_status_arg,
2421 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2422 size_t size [[maybe_unused]],
CMD_LINE getopt,
const char *def_val,
2427 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
2430 binlog_status_arg, on_check_func, on_update_func, substitute,
2456 std::string_view)
override {
2464 return (
uchar *)ret;
2472#ifdef HAVE_GTID_NEXT_LIST
2480class Sys_var_gtid_set :
public sys_var {
2483 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2485 enum binlog_status_enum binlog_status_arg = VARIABLE_NOT_IN_BINLOG,
2486 on_check_function on_check_func = 0,
2487 on_update_function on_update_func = 0,
const char *substitute = 0,
2488 int parse_flag = PARSE_NORMAL)
2491 binlog_status_arg, on_check_func, on_update_func, substitute,
2504 char *ptr = (
char *)(
intptr)option.def_value;
2516 if (res ==
nullptr) {
2520 assert(res->
ptr() !=
nullptr);
2532 const std::string &)
override {
2536 if (gs ==
nullptr)
return nullptr;
2639 time_t current_time = time(
nullptr);
2642 current_time = 1616893190;
2646 current_time = 1616893200;
2650 localtime_r(¤t_time, &tm_tmp);
2662 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2667 const char *substitute =
nullptr,
int parse_flag =
PARSE_NORMAL)
2670 binlog_status_arg, on_check_func, on_update_func, substitute,
2695 if (!res)
return true;
2749 std::string_view)
override {
2751 char *
buf =
nullptr;
2752 const bool remote = (target_thd != running_thd);
2760#ifdef HAVE_GTID_NEXT_LIST
2762 target_thd->owned_gtid_set.get_string_length() + 1);
2765 target_thd->owned_gtid_set.to_string(
buf);
2802 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2803 size_t size,
CMD_LINE getopt,
const char *values[], uint def_val,
2808 def_val,
lock, binlog_status_arg, on_check_func) {}
2816 const char *name_arg,
const char *
comment,
int flag_args, ptrdiff_t off,
2824 lock, binlog_status_arg, on_check_func) {}
2832 int flag_args, ptrdiff_t off,
size_t size,
2837 size, getopt, def_val,
lock, binlog_status_arg,
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:247
void rdlock()
Acquire the read lock.
Definition: rpl_gtid.h:487
void wrlock()
Acquire the write lock.
Definition: rpl_gtid.h:496
void unlock()
Release the lock (whether it is a write or read lock).
Definition: rpl_gtid.h:507
Definition: sql_error.h:228
Represents a set of GTIDs.
Definition: rpl_gtid.h:1558
static bool is_valid(const char *text)
Returns true if the given string is a valid specification of a Gtid_set, false otherwise.
Definition: rpl_gtid_set.cc:607
size_t get_string_length(const String_format *string_format=nullptr) const
Returns the length of the output from to_string.
Definition: rpl_gtid_set.cc:942
size_t to_string(char *buf, bool need_lock=false, const String_format *string_format=nullptr) const
Formats this Gtid_set as a string and saves in a given buffer.
Definition: rpl_gtid_set.cc:807
const Gtid_set * get_executed_gtids() const
Definition: rpl_gtid.h:3398
const Gtid_set * get_lost_gtids() const
Return a pointer to the Gtid_set that contains the lost gtids.
Definition: rpl_gtid.h:3393
const Owned_gtids * get_owned_gtids() const
Return a pointer to the Owned_gtids that contains the owned gtids.
Definition: rpl_gtid.h:3414
int32 get_anonymous_ownership_count()
Return the number of clients that hold anonymous ownership.
Definition: rpl_gtid.h:3058
virtual double val_real()=0
virtual longlong val_int()=0
virtual Item_result result_type() const
Definition: item.h:1451
bool unsigned_flag
Definition: item.h:3812
virtual String * val_str(String *str)=0
Represents the set of GTIDs that are owned by some thread.
Definition: rpl_gtid.h:2599
size_t get_max_string_length() const
Return an upper bound on the length of the string representation of this Owned_gtids.
Definition: rpl_gtid.h:2695
int to_string(char *out) const
Write a string representation of this Owned_gtids to the given buffer.
Definition: rpl_gtid.h:2669
wrapper to hide a mutex and an rwlock under a common interface
Definition: sys_vars_shared.h:52
char * mem_strdup(const char *str)
Definition: sql_class.h:441
LEX_CSTRING external_user() const
Getter method for member m_external_user.
Definition: sql_security_ctx.h:460
LEX_CSTRING proxy_user() const
Getter method for member m_proxy_user.
Definition: sql_security_ctx.cc:1109
bool update(char **var, char *val, size_t val_len)
Frees the old allocated memory, memdup()'s the given val to a new memory address & updates the sessio...
Definition: sys_vars_resource_mgr.cc:73
@ SL_WARNING
Definition: sql_error.h:66
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:169
LEX_CSTRING lex_cstring() const
Definition: sql_string.h:299
const CHARSET_INFO * charset() const
Definition: sql_string.h:242
static bool needs_conversion(size_t arg_length, const CHARSET_INFO *cs_from, const CHARSET_INFO *cs_to, size_t *offset)
Checks that the source string can be just copied to the destination string without conversion.
Definition: sql_string.h:637
const char * ptr() const
Definition: sql_string.h:251
size_t length() const
Definition: sql_string.h:243
A sys_var that is an alias for another sys_var.
Definition: sys_vars.h:359
bool set_user(const char *usr) override
Definition: sys_vars.h:441
Sys_var_alias(const char *name_arg, sys_var &base_var, const char *deprecation_substitute_arg, sys_var *persisted_alias, bool is_persisted_deprecated)
Special constructor used to implement Sys_var_deprecated alias.
Definition: sys_vars.h:385
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:465
const char * get_host() override
Definition: sys_vars.h:443
ulonglong get_max_value() override
Definition: sys_vars.h:416
sys_var & m_base_var
Definition: sys_vars.h:361
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:462
bool is_non_persistent() override
Definition: sys_vars.h:424
void set_timestamp(ulonglong ts) override
Definition: sys_vars.h:450
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view keycache_name) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:470
void cleanup() override
All the cleanup procedures should be performed here.
Definition: sys_vars.h:407
Sys_var_alias(const char *name_arg, sys_var &base_var)
Definition: sys_vars.h:401
ulonglong get_timestamp() const override
Definition: sys_vars.h:445
void set_source(enum_variable_source src) override
Definition: sys_vars.h:435
void update_default(longlong new_def_value) override
Definition: sys_vars.h:411
longlong get_default() override
Definition: sys_vars.h:414
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:456
void set_timestamp() override
Definition: sys_vars.h:449
sys_var & get_base_var()
Definition: sys_vars.h:405
void set_user_host(THD *thd) override
Definition: sys_vars.h:448
const char * get_user() override
Definition: sys_vars.h:442
bool set_source_name(const char *path) override
Definition: sys_vars.h:438
void set_arg_source(get_opt_arg_source *arg_source) override
Definition: sys_vars.h:418
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:474
void set_is_plugin(bool is_plugin) override
Definition: sys_vars.h:421
bool check_update_type(Item_result type) override
Definition: sys_vars.h:428
void global_save_default(THD *thd, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:459
const char * get_source_name() override
Definition: sys_vars.h:432
ulong get_var_type() override
Returns variable type.
Definition: sys_vars.h:417
void saved_value_to_string(THD *thd, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:425
enum_variable_source get_source() override
Definition: sys_vars.h:431
sys_var_pluginvar * cast_pluginvar() override
downcast for sys_var_pluginvar.
Definition: sys_vars.h:408
longlong get_min_value() override
Definition: sys_vars.h:415
bool set_host(const char *hst) override
Definition: sys_vars.h:444
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:453
Definition: sys_vars.h:2829
Sys_var_binlog_encryption(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, bool def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func)
Definition: sys_vars.h:2831
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:7249
The class for bit variables - a variant of boolean that stores the value in a bit.
Definition: sys_vars.h:1926
Sys_var_bit(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, ulonglong bitmask_arg, bool def_val, PolyLock *lock=nullptr, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=nullptr, pre_update_function pre_update_func=nullptr, on_update_function on_update_func=nullptr, const char *substitute=nullptr)
Definition: sys_vars.h:1937
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1968
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1971
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1974
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1965
void set(uchar *ptr, ulonglong value)
Definition: sys_vars.h:1929
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1957
ulonglong bitmask
Definition: sys_vars.h:1927
bool reverse_semantics
Definition: sys_vars.h:1928
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1981
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1961
The class for boolean variables - a variant of ENUM variables with the fixed list of values of { OFF ...
Definition: sys_vars.h:692
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:715
Sys_var_bool(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, bool 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)
Definition: sys_vars.h:694
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:719
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:726
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:723
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:710
Abstract base class for read-only variables (global or session) of string type where the value is gen...
Definition: sys_vars.h:2561
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2574
Sys_var_charptr_func(const char *name_arg, const char *comment, flag_enum flag_arg)
Definition: sys_vars.h:2563
const uchar * session_value_ptr(THD *, THD *, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2595
bool check_update_type(Item_result) override
Definition: sys_vars.h:2591
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2587
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2584
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2578
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2599
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2583
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2582
The class for string variables.
Definition: sys_vars.h:1015
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1041
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1102
void cleanup() override
All the cleanup procedures should be performed here.
Definition: sys_vars.h:1036
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1098
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1082
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1076
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1065
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4103
Sys_var_charptr(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, enum charset_enum is_os_charset_arg, const char *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)
Definition: sys_vars.h:1017
@session.dbug and @global.dbug variables.
Definition: sys_vars.h:1235
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1250
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:1274
const uchar * session_value_ptr(THD *running_thd, THD *, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1283
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1294
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1289
bool session_update(THD *, set_var *var) override
Definition: sys_vars.h:1261
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1269
Sys_var_dbug(const char *name_arg, const char *comment, int flag_args, CMD_LINE getopt, const char *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)
Definition: sys_vars.h:1237
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1279
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1275
A deprecated alias for a variable.
Definition: sys_vars.h:558
std::string m_comment
Definition: sys_vars.h:560
Sys_var_deprecated_alias(const char *name_arg, sys_var &base_var)
Definition: sys_vars.h:563
The class for floating point variables.
Definition: sys_vars.h:1398
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1434
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1447
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1430
Sys_var_double(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, double min_val, double max_val, double 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)
Definition: sys_vars.h:1400
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1444
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1438
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1422
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1441
Definition: sys_vars.h:2813
Sys_var_enforce_gtid_consistency(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const ALIAS aliases[], const uint value_count, uint def_val, uint command_line_no_value, PolyLock *lock=nullptr, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=nullptr)
Definition: sys_vars.h:2815
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4571
A class for @global.binlog_checksum that has a specialized update method.
Definition: sys_vars.h:2401
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4119
Sys_var_enum_binlog_checksum(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], uint def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func=nullptr)
Definition: sys_vars.h:2403
The class for ENUM variables - variables that take one value from a fixed list of values.
Definition: sys_vars.h:639
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:666
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:662
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:672
Sys_var_enum(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], uint 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)
Definition: sys_vars.h:641
const uchar * session_value_ptr(THD *, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:676
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:669
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:681
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:657
Definition: sys_vars.h:1169
const uchar * session_value_ptr(THD *, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1176
Sys_var_external_user(const char *name_arg, const char *comment_arg, enum charset_enum is_os_charset_arg)
Definition: sys_vars.h:1171
The class for flagset variables - a variant of SET that allows in-place editing (turning on/off indiv...
Definition: sys_vars.h:1529
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1593
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1608
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1589
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1614
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1600
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1550
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1597
Sys_var_flagset(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], ulonglong 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)
Definition: sys_vars.h:1531
void saved_value_to_string(THD *thd, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1603
Class for @global.gtid_executed.
Definition: sys_vars.h:2608
Sys_var_gtid_executed(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2610
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2613
Definition: sys_vars.h:2799
Sys_var_gtid_mode(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], uint def_val, PolyLock *lock=nullptr, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=nullptr)
Definition: sys_vars.h:2801
bool global_update(THD *thd, set_var *var) override
This function shall be called whenever the global scope of gtid_mode var is updated.
Definition: sys_vars.cc:4259
Class for gtid_next.
Definition: sys_vars.h:2418
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2447
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2455
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4153
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2466
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2448
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2436
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2440
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2451
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2452
Sys_var_gtid_next(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *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)
Definition: sys_vars.h:2420
Definition: sys_vars.h:2742
Sys_var_gtid_owned(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2744
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2785
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2748
Class for @session.gtid_purged.
Definition: sys_vars.h:2659
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:6588
const uchar * session_value_ptr(THD *, THD *, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2736
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2682
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:2690
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2708
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2673
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2712
Sys_var_gtid_purged(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t, CMD_LINE getopt, const char *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)
Definition: sys_vars.h:2661
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2678
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2686
A subclass of Sys_var_have to return dynamic values.
Definition: sys_vars.h:2168
static enum SHOW_COMP_OPTION dummy_
Definition: sys_vars.h:2197
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2191
enum SHOW_COMP_OPTION(* func_)(THD *)
Definition: sys_vars.h:2196
Sys_var_have_func(const char *name_arg, const char *comment, enum SHOW_COMP_OPTION(*func)(THD *), const char *substitute=nullptr)
Construct a new variable.
Definition: sys_vars.h:2178
The class for read-only variables that show whether a particular feature is supported by the server.
Definition: sys_vars.h:2115
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2143
Sys_var_have(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, 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)
Definition: sys_vars.h:2117
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2147
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2154
bool check_update_type(Item_result) override
Definition: sys_vars.h:2158
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2135
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2148
const uchar * session_value_ptr(THD *, THD *, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2150
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2139
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2149
Sys_var_integer template is used to generate Sys_var_* classes for variables that represent the value...
Definition: sys_vars.h:203
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:321
Sys_var_integer(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, T min_val, T max_val, T def_val, uint block_size, 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)
Definition: sys_vars.h:205
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:238
T * max_var_ptr()
Definition: sys_vars.h:334
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:317
bool check_update_type(Item_result type) override
Definition: sys_vars.h:314
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:306
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:324
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:310
The class for keycache_* variables.
Definition: sys_vars.h:1318
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:1374
Sys_var_keycache(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, ulonglong min_val, ulonglong max_val, ulonglong def_val, uint block_size, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, keycache_update_function on_update_func, const char *substitute=nullptr)
Definition: sys_vars.h:1322
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1341
keycache_update_function keycache_update
Definition: sys_vars.h:1319
The class for string variables.
Definition: sys_vars.h:1197
Sys_var_lexstring(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, enum charset_enum is_os_charset_arg, const char *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)
Definition: sys_vars.h:1199
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1216
The class for the max_user_connections.
Definition: sys_vars.h:1490
Sys_var_max_user_conn(const char *name_arg, const char *comment, int, ptrdiff_t off, size_t size, CMD_LINE getopt, uint min_val, uint max_val, uint def_val, uint block_size, 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)
Definition: sys_vars.h:1492
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view keycache_name) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1503
A variant of enum where:
Definition: sys_vars.h:755
uint command_line_no_value
Definition: sys_vars.h:1000
const char * command_line_value
Pointer to the value set by the command line (set by the command line parser, copied to the global va...
Definition: sys_vars.h:999
const uint value_count
The number of allowed numeric values.
Definition: sys_vars.h:989
uint alias_count
The number of elements of aliases (computed in the constructor).
Definition: sys_vars.h:993
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:960
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:934
const ALIAS * aliases
Array of all textual aliases.
Definition: sys_vars.h:991
bool check_update_type(Item_result type) override
Definition: sys_vars.h:919
const uchar * session_value_ptr(THD *, THD *, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:971
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:922
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:947
int find_value(const char *text)
Return the numeric value for a given alias string, or -1 if the string is not a valid alias.
Definition: sys_vars.h:840
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:891
Sys_var_multi_enum(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const ALIAS aliases_arg[], uint value_count_arg, uint def_val, uint command_line_no_value_arg, 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)
Enumerated type system variable.
Definition: sys_vars.h:807
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:967
const char * fixup_command_line(const char *value_str)
Because of limitations in the command-line parsing library, the value given on the command-line canno...
Definition: sys_vars.h:861
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:982
The class for variables which value is a plugin.
Definition: sys_vars.h:1730
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1829
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1752
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1805
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1825
void global_save_default(THD *thd, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1809
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1832
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1797
bool allow_secondary_engine
Definition: sys_vars.h:1732
void do_update(plugin_ref *valptr, plugin_ref newval)
Definition: sys_vars.h:1790
int plugin_type
Definition: sys_vars.h:1731
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1801
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1839
Sys_var_plugin(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, int plugin_type_arg, const char **def_val, bool allow_secondary_engine, PolyLock *lock=nullptr, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=nullptr)
Definition: sys_vars.h:1735
Definition: sys_vars.h:1131
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:1154
const uchar * session_value_ptr(THD *, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1162
bool check_update_type(Item_result) override
Definition: sys_vars.h:1159
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:1146
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:1142
Sys_var_proxy_user(const char *name_arg, const char *comment, enum charset_enum is_os_charset_arg)
Definition: sys_vars.h:1133
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:1150
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:1155
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1156
Similar to Sys_var_session_special, but with double storage.
Definition: sys_vars.h:2056
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2090
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2087
session_special_read_double_function read_func
Definition: sys_vars.h:2060
double(* session_special_read_double_function)(THD *thd)
Definition: sys_vars.h:2058
session_special_update_function update_func
Definition: sys_vars.h:2061
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2091
Sys_var_session_special_double(const char *name_arg, const char *comment, int flag_args, CMD_LINE getopt, double min_val, double max_val, uint, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, session_special_update_function update_func_arg, session_special_read_double_function read_func_arg, const char *substitute=nullptr)
Definition: sys_vars.h:2064
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2083
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2080
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2094
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2099
bool(* session_special_update_function)(THD *thd, set_var *var)
Definition: sys_vars.h:2057
The class for variables that have a special meaning for a session, such as @timestamp or @rnd_seed1,...
Definition: sys_vars.h:2003
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2031
bool(* session_special_update_function)(THD *thd, set_var *var)
Definition: sys_vars.h:2004
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2028
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2035
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2047
Sys_var_session_special(const char *name_arg, const char *comment, int flag_args, CMD_LINE getopt, ulonglong min_val, ulonglong max_val, uint block_size, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, session_special_update_function update_func_arg, session_special_read_function read_func_arg, const char *substitute=nullptr)
Definition: sys_vars.h:2011
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2038
ulonglong(* session_special_read_function)(THD *thd)
Definition: sys_vars.h:2005
session_special_read_function read_func
Definition: sys_vars.h:2007
session_special_update_function update_func
Definition: sys_vars.h:2008
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2039
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2042
The class for SET variables - variables taking zero or more values from the given list.
Definition: sys_vars.h:1629
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1686
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:1649
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1711
Sys_var_set(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], ulonglong 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)
Definition: sys_vars.h:1631
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1694
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1697
void saved_value_to_string(THD *thd, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1700
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1690
const uchar * session_value_ptr(THD *running_thd, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:1705
Generic class for variables for storing entities that are internally represented as structures,...
Definition: sys_vars.h:2214
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2262
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2256
const uchar * session_value_ptr(THD *, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2265
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2241
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:2252
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)
Definition: sys_vars.h:2216
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:2245
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2270
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2249
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2240
Class for @global.system_time_zone.
Definition: sys_vars.h:2630
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2637
Sys_var_system_time_zone(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2632
The class for test_flags (core_file for now).
Definition: sys_vars.h:1462
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:1474
bool test_flag_value
Definition: sys_vars.h:1464
uint test_flag_mask
Definition: sys_vars.h:1465
Sys_var_test_flag(const char *name_arg, const char *comment, uint mask)
Definition: sys_vars.h:1468
Class representing the 'transaction_isolation' system variable.
Definition: sys_vars.h:2363
bool session_update(THD *thd, set_var *var) override
This function sets the session variable thd->variables.transaction_isolation to reflect changes to @s...
Definition: sys_vars.cc:5028
Sys_var_transaction_isolation(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, const char *values[], uint def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func)
Definition: sys_vars.h:2365
Class representing the tx_read_only system variable for setting default transaction access mode.
Definition: sys_vars.h:2385
bool session_update(THD *thd, set_var *var) override
This function sets the session variable thd->variables.transaction_read_only to reflect changes to @s...
Definition: sys_vars.cc:5097
Sys_var_transaction_read_only(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, bool def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func)
Definition: sys_vars.h:2387
Helper class for variables that take values from a TYPELIB.
Definition: sys_vars.h:574
Sys_var_typelib(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, CMD_LINE getopt, SHOW_TYPE show_val_type_arg, const char *values[], ulonglong 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=PARSE_NORMAL)
Definition: sys_vars.h:579
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:597
TYPELIB typelib
Definition: sys_vars.h:576
bool check_update_type(Item_result type) override
Definition: sys_vars.h:620
The class for variables that store time zones.
Definition: sys_vars.h:2286
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:2303
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2317
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:2328
Sys_var_tz(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, Time_zone **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)
Definition: sys_vars.h:2288
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2352
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:2321
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2325
const uchar * session_value_ptr(THD *, THD *target_thd, std::string_view) override
A pointer to a value of the variable for SHOW.
Definition: sys_vars.h:2334
void saved_value_to_string(THD *, set_var *var, char *def_val) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2331
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2348
Definition: sys_vars.h:1107
~Sys_var_version() override=default
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:1117
Sys_var_version(const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, size_t size, CMD_LINE getopt, enum charset_enum is_os_charset_arg, const char *def_val)
Definition: sys_vars.h:1109
std::string_view get_keycache_name() const
Definition: set_var.h:684
bool is_keycache_var() const
Definition: set_var.h:661
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Gtid owned_gtid
The GTID of the currently owned transaction.
Definition: sql_class.h:3842
static const int OWNED_SIDNO_GTID_SET
Definition: sql_class.h:3843
double double_value
Definition: sql_class.h:2869
static const int OWNED_SIDNO_ANONYMOUS
Definition: sql_class.h:3844
Session_sysvar_resource_manager session_sysvar_res_mgr
Definition: sql_class.h:4550
void * alloc(size_t size)
Definition: sql_lexer_thd.h:50
union THD::@181 sys_var_tmp
bool bool_value
Definition: sql_class.h:2865
System_variables variables
Definition: sql_lexer_thd.h:64
mysql::gtid::Tsid owned_tsid
For convenience, this contains the TSID component of the GTID stored in owned_gtid.
Definition: sql_class.h:3850
char * strmake(const char *str, size_t size) const
Definition: sql_lexer_thd.h:52
Security_context * security_context() const
Definition: sql_class.h:1355
bool time_zone_used
Definition: sql_class.h:2829
ulonglong ulonglong_value
Definition: sql_class.h:2868
const USER_CONN * get_user_connect() const
Definition: sql_class.h:2476
This class represents abstract time zone and provides basic interface for MYSQL_TIME <-> my_time_t co...
Definition: tztime.h:49
virtual const String * get_name() const =0
Because of constness of String returned by get_name() time zone name have to be already zeroended to ...
set_var_base descendant for assignments to the system variables.
Definition: set_var.h:983
union set_var::@176 save_result
Resolver of the variable at the left hand side of the assignment.
ulonglong ulonglong_value
for all integer, set, enum sysvars
Definition: set_var.h:989
const System_variable_tracker m_var_tracker
Definition: set_var.h:998
bool is_global_persist()
Definition: set_var.h:1017
Time_zone * time_zone
for Sys_var_tz
Definition: set_var.h:992
Item * value
the expression that provides the new value of the variable
Definition: set_var.h:985
LEX_STRING string_value
for Sys_var_charptr and others
Definition: set_var.h:993
plugin_ref plugin
for Sys_var_plugin
Definition: set_var.h:991
const void * ptr
for Sys_var_struct
Definition: set_var.h:994
double double_value
for Sys_var_double
Definition: set_var.h:990
Definition: sql_plugin_var.h:211
A class representing one system variable - that is something that can be accessed as @global....
Definition: set_var.h:107
virtual bool global_update(THD *thd, set_var *var)=0
virtual bool set_source_name(const char *path)
Definition: set_var.h:243
my_option option
min, max, default values are stored here
Definition: set_var.h:178
my_option * get_option()
Definition: set_var.h:257
bool(* on_update_function)(sys_var *self, THD *thd, enum_var_type type)
Definition: set_var.h:172
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:110
virtual void set_arg_source(get_opt_arg_source *)
Definition: set_var.h:236
virtual const char * get_host()
Definition: set_var.h:251
virtual ulonglong get_max_value()
Definition: set_var.h:229
virtual void set_user_host(THD *thd)
Definition: set_var.cc:458
uchar * global_var_ptr()
Definition: set_var.cc:405
enum sys_var::binlog_status_enum binlog_status
Global system variable attributes.
uchar * session_var_ptr(THD *thd)
A pointer to a storage area of the variable, to the raw data.
Definition: set_var.cc:401
flag_enum
Definition: set_var.h:128
@ SESSION
Definition: set_var.h:130
@ GLOBAL
Definition: set_var.h:129
@ READONLY
Definition: set_var.h:133
@ ALLOCATED
Definition: set_var.h:134
@ NOTPERSIST
Definition: set_var.h:137
@ PERSIST_AS_READ_ONLY
There can be some variables which needs to be set before plugin is loaded.
Definition: set_var.h:148
@ ONLY_SESSION
Definition: set_var.h:131
virtual bool do_check(THD *thd, set_var *var)=0
virtual bool check_update_type(Item_result type)=0
virtual const char * get_user()
Definition: set_var.h:250
virtual void cleanup()
All the cleanup procedures should be performed here.
Definition: set_var.h:212
virtual longlong get_min_value()
Definition: set_var.h:228
virtual void set_is_plugin(bool)
Definition: set_var.h:237
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:161
@ VARIABLE_NOT_IN_BINLOG
Definition: set_var.h:162
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:189
ptrdiff_t offset
offset to the value from global_system_variables
Definition: set_var.h:180
virtual bool set_user(const char *usr)
Definition: set_var.h:247
bool(* on_check_function)(sys_var *self, THD *thd, set_var *var)
Definition: set_var.h:170
virtual enum_variable_source get_source()
Definition: set_var.h:238
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
on_check_function on_check
Definition: set_var.h:181
const CHARSET_INFO * charset(THD *thd)
Definition: set_var.cc:593
virtual ulong get_var_type()
Returns variable type.
Definition: set_var.h:235
virtual const char * get_source_name()
Definition: set_var.h:239
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:186
int scope() const
Definition: set_var.h:278
virtual void set_timestamp()
Definition: set_var.h:258
const SHOW_TYPE show_val_type
what value_ptr() returns for sql_show.cc
Definition: set_var.h:177
on_update_function on_update
Definition: set_var.h:187
int flags
or'ed flag_enum values
Definition: set_var.h:175
static const int PARSE_NORMAL
Definition: set_var.h:156
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
virtual void update_default(longlong new_def_value)
Definition: set_var.h:224
virtual bool set_host(const char *hst)
Definition: set_var.h:252
PolyLock * guard
second lock that protects the variable
Definition: set_var.h:179
virtual longlong get_default()
Definition: set_var.h:227
virtual bool is_non_persistent()
Definition: set_var.h:260
virtual sys_var_pluginvar * cast_pluginvar()
downcast for sys_var_pluginvar.
Definition: set_var.h:217
const char *const deprecation_substitute
Definition: set_var.h:188
virtual ulonglong get_timestamp() const
Definition: set_var.h:255
bool(* pre_update_function)(sys_var *self, THD *thd, set_var *var)
Definition: set_var.h:171
bool is_readonly() const
Definition: set_var.h:280
virtual bool session_update(THD *thd, set_var *var)=0
int m_parse_flag
either PARSE_EARLY or PARSE_NORMAL.
Definition: set_var.h:176
virtual void set_source(enum_variable_source src)
Definition: set_var.h:240
static char buf[MAX_BUF]
Definition: conf_to_src.cc:74
MYSQL_STRINGS_EXPORT size_t my_fcvt(double x, int precision, char *to, bool *error)
Converts a given floating point number to a zero-terminated string representation using the 'f' forma...
Definition: dtoa.cc:202
#define MAX_TIME_ZONE_NAME_LENGTH
Maximum length of time zone name that we support (Time zone name is char(64) in db).
Definition: binlog_event.h:122
void my_error(int nr, myf MyFlags,...)
Fill in and print a previously registered error message.
Definition: my_error.cc:217
ALWAYS_INLINE const char * base_name(const char *A)
Definition: my_sys.h:714
#define MYSQL_STORAGE_ENGINE_PLUGIN
Definition: plugin.h:116
MYSQL_STRINGS_EXPORT char * longlong10_to_str(int64_t val, char *dst, int radix)
Converts a 64-bit integer to its string representation in decimal notation.
Definition: int2str.cc:99
#define T
Definition: jit_executor_value.cc:373
Key cache variable structures.
KEY_CACHE * dflt_key_cache
Definition: keycache.h:135
KEY_CACHE * create_key_cache(std::string_view name)
Create a MyISAM Multiple Key Cache.
Definition: keycaches.cc:76
KEY_CACHE * get_key_cache(std::string_view cache_name)
Resolve a MyISAM Multiple Key Cache by name.
Definition: keycaches.cc:68
KEY_CACHE zero_key_cache
@nonexistent_cache.param->value_ptr() points here
Definition: keycaches.cc:66
static std::string to_string(const LEX_STRING &str)
Definition: lex_string.h:51
#define comment
Definition: lexyy.cc:959
@ READ_ONLY
The opened file can be only read.
A better implementation of the UNIX ctype(3) library.
int my_strcasecmp(const CHARSET_INFO *cs, const char *s1, const char *s2)
Definition: m_ctype.h:651
MYSQL_STRINGS_EXPORT CHARSET_INFO my_charset_latin1
Definition: ctype-latin1.cc:365
MYSQL_PLUGIN_IMPORT CHARSET_INFO * system_charset_info
Definition: mysqld.cc:1580
static mi_bit_type mask[]
Definition: mi_packrec.cc:141
This file includes constants used by all storage engines.
Header for compiler-dependent features.
#define DBUG_SET_INITIAL(a1)
Definition: my_dbug.h:192
#define DBUG_EXECUTE_IF(keyword, a1)
Definition: my_dbug.h:171
#define DBUG_PRINT(keyword, arglist)
Definition: my_dbug.h:181
#define DBUG_EXPLAIN(buf, len)
Definition: my_dbug.h:199
#define DBUG_SET(a1)
Definition: my_dbug.h:191
#define DBUG_EXPLAIN_INITIAL(buf, len)
Definition: my_dbug.h:200
#define DBUG_POP()
Definition: my_dbug.h:190
#define DBUG_TRACE
Definition: my_dbug.h:146
#define GET_NO_ARG
Definition: my_getopt.h:44
get_opt_arg_type
Enumeration of the my_option::arg_type attributes.
Definition: my_getopt.h:81
@ OPT_ARG
Definition: my_getopt.h:81
@ NO_ARG
Definition: my_getopt.h:81
#define GET_STR
Definition: my_getopt.h:52
#define GET_DOUBLE
Definition: my_getopt.h:57
ulonglong getopt_ull_limit_value(ulonglong num, const struct my_option *optp, bool *fix)
Definition: my_getopt.cc:1265
#define GET_SET
Definition: my_getopt.h:56
#define GET_ENUM
Definition: my_getopt.h:55
#define GET_FLAGSET
Definition: my_getopt.h:58
#define GET_STR_ALLOC
Definition: my_getopt.h:53
ulonglong getopt_double2ulonglong(double)
Returns an ulonglong value containing a raw representation of the given double value.
Definition: my_getopt.cc:163
double getopt_double_limit_value(double num, const struct my_option *optp, bool *fix)
Definition: my_getopt.cc:1305
double getopt_ulonglong2double(ulonglong)
Returns the double value which corresponds to the given raw representation.
Definition: my_getopt.cc:174
ulonglong max_of_int_range(int var_type)
Maximum possible value for an integer GET_* variable type.
Definition: my_getopt.cc:1166
#define GET_ASK_ADDR
Definition: my_getopt.h:71
#define GET_BOOL
Definition: my_getopt.h:45
longlong getopt_ll_limit_value(longlong, const struct my_option *, bool *fix)
Definition: my_getopt.cc:1193
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned char uchar
Definition: my_inttypes.h:52
intptr_t intptr
Definition: my_inttypes.h:70
long long int longlong
Definition: my_inttypes.h:55
#define MYF(v)
Definition: my_inttypes.h:97
void my_free(void *ptr)
Frees the memory pointed by the ptr.
Definition: my_memory.cc:81
uint test_flags
Definition: mysqld.cc:1365
const char * show_comp_option_name[]
Definition: mysqld.cc:1071
char system_time_zone_dst_off[30]
Definition: mysqld.cc:1514
bool opt_bin_log
Definition: mysqld.cc:1226
Tsid_map * global_tsid_map
Definition: mysqld.cc:1866
Gtid_state * gtid_state
Global state of GTIDs.
Definition: mysqld.cc:1867
Checkable_rwlock * global_tsid_lock
Protects Gtid_state. See comment above gtid_state for details.
Definition: mysqld.cc:1865
struct System_variables max_system_variables
Definition: mysqld.cc:1574
char system_time_zone_dst_on[30]
Definition: mysqld.cc:1514
static char * path
Definition: mysqldump.cc:151
arg_type
Definition: mysqltest.cc:1133
int find_set(REP_SETS *sets, REP_SET *find)
Definition: mysqltest.cc:11612
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1077
Definition: buf0block_hint.cc:30
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
static Value err()
Create a Value object that represents an error condition.
Definition: json_binary.cc:943
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
size_t size(const char *const c)
Definition: base64.h:46
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
required string type
Definition: replication_group_member_actions.proto:34
bool throw_bounds_warning(THD *thd, const char *name, bool fixed, bool is_unsigned, longlong v)
Throw warning (error in STRICT mode) if value for variable needed bounding.
Definition: set_var.cc:554
"public" interface to sys_var - server configuration variables.
enum enum_mysql_show_type SHOW_TYPE
Definition: set_var.h:75
Declarations for the Debug Sync Facility.
plugin_ref ha_resolve_by_name(THD *thd, const LEX_CSTRING *name, bool is_temp_table)
Return the storage engine handlerton for the supplied name.
Definition: handler.cc:413
#define HTON_IS_SECONDARY_ENGINE
Engine is a secondary storage engine.
Definition: handler.h:3199
File containing constants that can be used throughout the server.
SHOW_COMP_OPTION
Definition: sql_const.h:230
constexpr const size_t STRING_BUFFER_USUAL_SIZE
Definition: sql_const.h:126
void push_warning_printf(THD *thd, Sql_condition::enum_severity_level severity, uint code, const char *format,...)
Push the warning to error list if there is still room in the list.
Definition: sql_error.cc:735
void plugin_unlock(THD *thd, plugin_ref plugin)
Definition: sql_plugin.cc:1267
#define my_plugin_lock_by_name(A, B, C)
Definition: sql_plugin.h:175
#define my_plugin_lock(A, B)
Definition: sql_plugin.h:177
LEX_CSTRING * plugin_name(st_plugin_int **ref)
Definition: sql_plugin_ref.h:95
Our own string classes, used pervasively throughout the executor.
bool validate_string(const CHARSET_INFO *cs, const char *str, size_t length, size_t *valid_length, bool *length_error)
Check if an input byte sequence is a valid character string of a given charset.
Definition: sql_string.cc:1131
@ SHOW_DOUBLE
Definition: status_variables_bits.h:42
@ SHOW_CHAR_PTR
Definition: status_variables_bits.h:39
@ SHOW_MY_BOOL
Definition: status_variables_bits.h:52
@ SHOW_CHAR
Definition: status_variables_bits.h:38
@ SHOW_LEX_STRING
Definition: status_variables_bits.h:57
char * set_to_string(THD *thd, LEX_STRING *result, ulonglong set, const char *lib[], bool quoted)
Definition: strfunc.cc:270
char * flagset_to_string(THD *thd, LEX_STRING *result, ulonglong set, const char *lib[])
Definition: strfunc.cc:303
A small wrapper class to pass getopt arguments as a pair to the Sys_var_* constructors.
Definition: sys_vars.h:181
int id
Definition: sys_vars.h:182
CMD_LINE(enum get_opt_arg_type getopt_arg_type, int getopt_id=0)
Definition: sys_vars.h:184
enum get_opt_arg_type arg_type
Definition: sys_vars.h:183
Holds information about a Gtid_set.
Definition: rpl_gtid.h:2552
Gtid_set * get_gtid_set() const
Return NULL if this is NULL, otherwise return the Gtid_set.
Definition: rpl_gtid.h:2558
This struct represents a specification of a GTID for a statement to be executed: either "AUTOMATIC",...
Definition: rpl_gtid.h:4034
static const int MAX_TEXT_LENGTH
Definition: rpl_gtid.h:4161
static const int MAX_TEXT_LENGTH
The maximal length of the textual representation of a TSID, not including the terminating '\0'.
Definition: rpl_gtid.h:1139
rpl_sidno sidno
SIDNO of this Gtid.
Definition: rpl_gtid.h:1106
int to_string(const Tsid &tsid, char *buf) const
Convert a Gtid to a string.
Definition: rpl_gtid_misc.cc:214
Definition: keycache.h:73
bool in_init
Definition: keycache.h:131
Definition: mysql_lex_string.h:40
const char * str
Definition: mysql_lex_string.h:41
size_t length
Definition: mysql_lex_string.h:42
Definition: mysql_lex_string.h:35
char * str
Definition: mysql_lex_string.h:36
size_t length
Definition: mysql_lex_string.h:37
Definition: sys_vars.h:757
uint number
Definition: sys_vars.h:759
const char * alias
Definition: sys_vars.h:758
Definition: system_variables.h:205
const char ** type_names
Definition: typelib.h:38
size_t count
Definition: typelib.h:36
const char * name
Definition: typelib.h:37
unsigned int * type_lengths
Definition: typelib.h:39
Definition: my_getopt.h:83
const char * comment
option comment, for autom.
Definition: my_getopt.h:113
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
long block_size
Value should be a mult.
Definition: my_getopt.h:127
const char * name
Name of the option.
Definition: my_getopt.h:94
void * u_max_value
The user def.
Definition: my_getopt.h:118
ulong var_type
GET_BOOL, GET_ULL, etc.
Definition: my_getopt.h:120
TYPELIB * typelib
Pointer to possible values.
Definition: my_getopt.h:119
void * value
A pointer to the variable value.
Definition: my_getopt.h:117
Definition: sql_plugin_ref.h:45
Definition: sql_connect.h:70
USER_RESOURCES user_resources
Definition: sql_connect.h:94
uint user_conn
Definition: sql_connect.h:52
#define NO_CMD_LINE
Definition: sys_vars.h:134
Sys_var_integer< ulong, GET_ULONG, SHOW_LONG, false > Sys_var_ulong
Definition: sys_vars.h:344
std::string replication_channel_tls_kex(const Master_info *mi)
Definition: sys_vars.cc:7637
#define keycache_var_ptr(KC, OFF)
Definition: sys_vars.h:1302
#define keycache_var(KC, OFF)
Definition: sys_vars.h:1303
charset_enum
Definition: sys_vars.h:170
@ IN_SYSTEM_CHARSET
Definition: sys_vars.h:170
@ IN_FS_CHARSET
Definition: sys_vars.h:170
#define NON_PERSIST
Definition: sys_vars.h:152
#define MAX_SET(X)
Definition: sys_vars.h:1513
Sys_var_integer< uint, GET_UINT, SHOW_INT, false > Sys_var_uint
Definition: sys_vars.h:343
sys_var_chain all_sys_vars
Definition: set_var.cc:142
Sys_var_integer< int32, GET_UINT, SHOW_INT, false > Sys_var_int32
Definition: sys_vars.h:342
constexpr const unsigned long MAX_CONNECTIONS_DEFAULT
Maximum number of connections default value.
Definition: sys_vars.h:116
void update_parser_max_mem_size()
Definition: sys_vars.cc:3260
bool replication_channel_force_pqc(const Master_info *mi)
Definition: sys_vars.cc:7623
void adjust_startup_replication_force_pqc_for_tls_versions()
Definition: sys_vars.cc:7521
const char * fixup_enforce_gtid_consistency_command_line(char *value_arg)
Definition: sys_vars.cc:6436
#define session_var(THD, TYPE)
Definition: sys_vars.h:163
bool replication_channel_use_pqc_sign(const Master_info *mi)
Definition: sys_vars.cc:7630
void update_temptable_max_ram_default()
Definition: sys_vars.cc:5201
Sys_var_integer< long, GET_LONG, SHOW_SIGNED_LONG, true > Sys_var_long
Definition: sys_vars.h:349
constexpr const unsigned long TABLE_DEF_CACHE_DEFAULT
Definition: sys_vars.h:110
#define GLOBAL_VAR(X)
Definition: sys_vars.h:125
bool(* keycache_update_function)(THD *, KEY_CACHE *, ptrdiff_t, ulonglong)
Definition: sys_vars.h:1304
void update_optimizer_switch()
Definition: sys_vars.cc:3270
static const char * bool_values[3]
Definition: sys_vars.h:172
constexpr const unsigned long TABLE_OPEN_CACHE_DEFAULT
Definition: sys_vars.h:109
#define global_var(TYPE)
Definition: sys_vars.h:164
Sys_var_integer< ha_rows, GET_HA_ROWS, SHOW_HA_ROWS, false > Sys_var_harows
Definition: sys_vars.h:346
Sys_var_integer< ulonglong, GET_ULL, SHOW_LONGLONG, false > Sys_var_ulonglong
Definition: sys_vars.h:348
"protected" interface to sys_var - server configuration variables.
enum_variable_source
This enum values define how system variables are set.
Definition: system_variable_source_type.h:33
int find_type(const char *x, const TYPELIB *typelib, unsigned int flags)
uint64_t find_set_from_flags(const TYPELIB *lib, int default_name, uint64_t cur_set, uint64_t default_set, const char *str, unsigned int length, const char **err_pos, unsigned int *err_len)
Time_zone * my_tz_find(const int64 displacement)
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
@ DECIMAL_RESULT
not valid for UDFs
Definition: udf_registration_types.h:45
@ REAL_RESULT
char *
Definition: udf_registration_types.h:42
@ INT_RESULT
double
Definition: udf_registration_types.h:43
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510