1#ifndef SYS_VARS_H_INCLUDED 
    2#define SYS_VARS_H_INCLUDED 
   60#include "mysqld_error.h" 
   98template <
typename Struct_type, 
typename Name_getter>
 
  100template <
typename T, u
long ARGT, enum enum_mysql_show_type SHOWT, 
bool SIGNED>
 
  116#define VALID_RANGE(X, Y) X, Y 
  118#define BLOCK_SIZE(X) X 
  119#define GLOBAL_VAR(X)                                                         \ 
  120  sys_var::GLOBAL, (((const char *)&(X)) - (char *)&global_system_variables), \ 
  122#define SESSION_VAR(X)                             \ 
  123  sys_var::SESSION, offsetof(System_variables, X), \ 
  124      sizeof(((System_variables *)nullptr)->X) 
  125#define SESSION_ONLY(X)                                 \ 
  126  sys_var::ONLY_SESSION, offsetof(System_variables, X), \ 
  127      sizeof(((System_variables *)nullptr)->X) 
  128#define NO_CMD_LINE CMD_LINE(NO_ARG, -1) 
  133#define NO_MUTEX_GUARD ((PolyLock *)nullptr) 
  134#define IN_BINLOG sys_var::SESSION_VARIABLE_IN_BINLOG 
  135#define NOT_IN_BINLOG sys_var::VARIABLE_NOT_IN_BINLOG 
  138#define PRE_UPDATE(X) X 
  139#define ON_UPDATE(X) X 
  140#define READ_ONLY sys_var::READONLY + 
  141#define NOT_VISIBLE sys_var::INVISIBLE + 
  142#define UNTRACKED_DEFAULT sys_var::TRI_LEVEL + 
  143#define HINT_UPDATEABLE sys_var::HINT_UPDATEABLE + 
  145#define PREALLOCATED sys_var::ALLOCATED + 
  146#define NON_PERSIST sys_var::NOTPERSIST + 
  147#define PERSIST_AS_READONLY sys_var::PERSIST_AS_READ_ONLY + 
  148#define SENSITIVE sys_var::SENSITIVE + 
  154#define REVERSE(X) ~(X) 
  155#define DEPRECATED_VAR(X) X 
  157#define session_var(THD, TYPE) (*(TYPE *)session_var_ptr(THD)) 
  158#define global_var(TYPE) (*(TYPE *)global_var_ptr()) 
  160#define GET_HA_ROWS GET_ULL 
  196template <
typename T, u
long ARGT, enum enum_mysql_show_type SHOWT, 
bool SIGNED>
 
  200      const char *name_arg, 
const char *
comment, 
int flag_args,
 
  201      ptrdiff_t off, 
size_t size [[maybe_unused]], 
CMD_LINE getopt,
 
  202      T min_val, 
T max_val, 
T def_val, uint block_size,
 
  207      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
  210                binlog_status_arg, on_check_func, on_update_func,
 
  211                substitute, parse_flag) {
 
  213    if ((min_val % block_size) != 0)
 
  214      min_val += block_size - (min_val % block_size);
 
  224    assert(
size == 
sizeof(
T));
 
  225    assert(min_val <= def_val);
 
  226    assert(def_val <= max_val);
 
  227    assert(block_size > 0);
 
  229    assert(def_val % block_size == 0);
 
  380                const char *deprecation_substitute_arg,
 
  381                sys_var *persisted_alias, 
bool is_persisted_deprecated)
 
  388                persisted_alias, is_persisted_deprecated),
 
  465                                 std::string_view keycache_name)
 override {
 
  469                                std::string_view keycache_name)
 override {
 
  559    m_comment = std::string(
"This option is deprecated. Use ") +
 
  582                binlog_status_arg, on_check_func, on_update_func, substitute,
 
  597      if (!(res = var->value->val_str(&
str)))
 
  599      else if (!(var->save_result.ulonglong_value =
 
  603        var->save_result.ulonglong_value--;
 
  605      const longlong tmp = var->value->val_int();
 
  609        var->save_result.ulonglong_value = tmp;
 
  636      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
  637      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
const char *values[],
 
  642      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
  644                        values, def_val, 
lock, binlog_status_arg, on_check_func,
 
  645                        on_update_func, substitute, parse_flag) {
 
  649    assert(
size == 
sizeof(ulong));
 
  671                                 std::string_view)
 override {
 
  672    return pointer_cast<const uchar *>(
 
  689      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
  690      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
bool def_val,
 
  695      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
  698                        on_check_func, on_update_func, substitute, parse_flag) {
 
  702    assert(
size == 
sizeof(
bool));
 
  802      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
  804      uint value_count_arg, uint def_val, uint command_line_no_value_arg,
 
  809      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
  812                on_check_func, on_update_func, substitute, parse_flag),
 
  827    assert(
size == 
sizeof(ulong));
 
  861    if (value_str == 
nullptr) {
 
  871    value = strtol(value_str, &
end, 10);
 
  873    if (
end > value_str && *
end == 
'\0')
 
  891      if (!res) 
return true;
 
  897                          &valid_len, &len_error))
 
  901      if (
value == -1) 
return true;
 
 1012      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1014      enum charset_enum is_os_charset_arg, 
const char *def_val,
 
 1019      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 1022                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 1027    assert(
size == 
sizeof(
char *));
 
 1032    flags &= ~ALLOCATED;
 
 1089            : 
const_cast<char *
>(
"");
 
 1105                  enum charset_enum is_os_charset_arg, 
const char *def_val)
 
 1107                        is_os_charset_arg, def_val) {}
 
 1112                                std::string_view keycache_name)
 override {
 
 1116      static const char *altered_value = 
"some-other-version";
 
 1117      const uchar *altered_value_ptr = pointer_cast<uchar *>(&altered_value);
 
 1118      value = altered_value_ptr;
 
 1157                                 std::string_view)
 override {
 
 1159    return proxy_user[0] ? pointer_cast<const uchar *>(proxy_user) : 
nullptr;
 
 1171                                 std::string_view)
 override {
 
 1174    return external_user.
length ? pointer_cast<const uchar *>(external_user.
str)
 
 1194      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1196      enum charset_enum is_os_charset_arg, 
const char *def_val,
 
 1201      const char *substitute = 
nullptr)
 
 1203                        getopt, is_os_charset_arg, def_val, 
lock,
 
 1204                        binlog_status_arg, on_check_func, on_update_func,
 
 1232      const char *name_arg, 
const char *
comment, 
int flag_args, 
CMD_LINE getopt,
 
 1237      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 1240                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 1278                                 std::string_view)
 override {
 
 1294#define KEYCACHE_VAR(X) \ 
 1295  sys_var::GLOBAL, offsetof(KEY_CACHE, X), sizeof(((KEY_CACHE *)nullptr)->X) 
 1296#define keycache_var_ptr(KC, OFF) (((uchar *)(KC)) + (OFF)) 
 1297#define keycache_var(KC, OFF) (*(ulonglong *)keycache_var_ptr(KC, OFF)) 
 1323                   const char *substitute = 
nullptr)
 
 1325            name_arg, 
comment, flag_args, -1, 
 
 1326            size, getopt, min_val, max_val, def_val, block_size, 
lock,
 
 1327            binlog_status_arg, on_check_func, 
nullptr, substitute),
 
 1346          "is deprecated and will be removed in a " 
 1364    if (key_cache->
in_init) 
return true;
 
 1369                                std::string_view keycache_name)
 override {
 
 1370    if (!keycache_name.empty())
 
 1372                          ER_WARN_DEPRECATED_SYNTAX,
 
 1373                          "@@global.%.*s.%s syntax " 
 1374                          "is deprecated and will be removed in a " 
 1376                          static_cast<int>(keycache_name.size()),
 
 1377                          keycache_name.data(), 
name.
str);
 
 1395      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1396      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
double min_val,
 
 1397      double max_val, 
double def_val, 
PolyLock *
lock = 
nullptr,
 
 1401      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 1405                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 1411    assert(min_val <= max_val);
 
 1412    assert(min_val <= def_val);
 
 1413    assert(max_val >= def_val);
 
 1414    assert(
size == 
sizeof(
double));
 
 1487      const char *name_arg, 
const char *
comment, 
int, ptrdiff_t off,
 
 1488      size_t size, 
CMD_LINE getopt, uint min_val, uint max_val, uint def_val,
 
 1493      const char *substitute = 
nullptr)
 
 1495                     max_val, def_val, block_size, 
lock, binlog_status_arg,
 
 1496                     on_check_func, on_update_func, substitute) {}
 
 1498                                 std::string_view keycache_name)
 override {
 
 1507#define MAX_SET(X) ((((1ULL << ((X)-1)) - 1) << 1) | 1) 
 1526      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1527      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
const char *values[],
 
 1532      const char *substitute = 
nullptr)
 
 1534                        values, def_val, 
lock, binlog_status_arg, on_check_func,
 
 1535                        on_update_func, substitute) {
 
 1541    assert(strcmp(values[
typelib.
count - 1], 
"default") == 0);
 
 1565            static_cast<uint
>(res->
length()), &
error, &error_len);
 
 1574      if ((tmp < 0 && !var->
value->unsigned_flag) ||
 
 1603                                 std::string_view)
 override {
 
 1626      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1627      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
const char *values[],
 
 1632      const char *substitute = 
nullptr)
 
 1634                        values, def_val, 
lock, binlog_status_arg, on_check_func,
 
 1635                        on_update_func, substitute) {
 
 1657                     nullptr, &
error, &error_len, ¬_used);
 
 1671      if ((tmp < 0 && !var->
value->unsigned_flag) ||
 
 1700                                 std::string_view)
 override {
 
 1730      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1731      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
int plugin_type_arg,
 
 1744    assert(getopt.
id == -1);  
 
 1773      const auto *hton = plugin_data<handlerton *>(plugin);
 
 1786    if (oldval != newval) {
 
 1806    pname.
str = *default_value;
 
 1827                                 std::string_view)
 override {
 
 1841#if defined(ENABLED_DEBUG_SYNC) 
 1845class Sys_var_debug_sync : 
public sys_var {
 
 1848      const char *name_arg, 
const char *
comment, 
int flag_args, 
CMD_LINE getopt,
 
 1850      enum binlog_status_enum binlog_status_arg = VARIABLE_NOT_IN_BINLOG,
 
 1851      on_check_function on_check_func = 
nullptr,
 
 1852      on_update_function on_update_func = 
nullptr,
 
 1853      const char *substitute = 
nullptr, 
int parse_flag = PARSE_NORMAL)
 
 1856                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 1858    assert(
scope() == ONLY_SESSION);
 
 1888                                 std::string_view)
 override {
 
 1889    return debug_sync_value_ptr(running_thd);
 
 1932      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 1939      const char *substitute = 
nullptr)
 
 1942                        on_check_func, on_update_func, substitute) {
 
 1948    assert(getopt.
id == -1);  
 
 1969                                 std::string_view)
 override {
 
 2012                          const char *substitute = 
nullptr)
 
 2014                          getopt, min_val, max_val, 0, block_size, 
lock,
 
 2015                          binlog_status_arg, on_check_func, 
nullptr,
 
 2020    assert(getopt.
id == -1);  
 
 2030    var->
value = 
nullptr;
 
 2037                                 std::string_view)
 override {
 
 2059      const char *name_arg, 
const char *
comment, 
int flag_args, 
CMD_LINE getopt,
 
 2065      const char *substitute = 
nullptr)
 
 2067                       min_val, max_val, 0.0, 
lock, binlog_status_arg,
 
 2068                       on_check_func, 
nullptr, substitute),
 
 2072    assert(getopt.
id == -1);  
 
 2082    var->
value = 
nullptr;
 
 2089                                 std::string_view)
 override {
 
 2112      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2117      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 2120                on_check_func, on_update_func, substitute, parse_flag) {
 
 2122    assert(getopt.
id == -1);
 
 2123    assert(
lock == 
nullptr);
 
 2149    return pointer_cast<const uchar *>(
 
 2174                    const char *substitute = 
nullptr)
 
 2207template <
typename Struct_type, 
typename Name_getter>
 
 2211      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2212      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
void *def_val,
 
 2217      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 2220                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 2231    assert(getopt.
id == -1);
 
 2232    assert(
size == 
sizeof(
void *));
 
 2251    const Struct_type *ptr =
 
 2254      strcpy(def_val, pointer_cast<const char *>(Name_getter(ptr).get_name()));
 
 2260                                 std::string_view)
 override {
 
 2261    const Struct_type *ptr = 
session_var(target_thd, 
const Struct_type *);
 
 2262    return ptr ? Name_getter(ptr).get_name() : 
nullptr;
 
 2265    const Struct_type *ptr = 
global_var(
const Struct_type *);
 
 2266    return ptr ? Name_getter(ptr).get_name() : 
nullptr;
 
 2283             ptrdiff_t off, 
size_t size [[maybe_unused]], 
CMD_LINE getopt,
 
 2288             const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 2291                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 2293    assert(getopt.
id == -1);
 
 2302    if (!res) 
return true;
 
 2329                                 std::string_view)
 override {
 
 2339    return pointer_cast<const uchar *>(
 
 2343    return pointer_cast<const uchar *>(
 
 2360                                int flag_args, ptrdiff_t off, 
size_t size,
 
 2361                                CMD_LINE getopt, 
const char *values[],
 
 2366                     def_val, 
lock, binlog_status_arg, on_check_func) {}
 
 2382                                int flag_args, ptrdiff_t off, 
size_t size,
 
 2387                     lock, binlog_status_arg, on_check_func) {}
 
 2398                               int flag_args, ptrdiff_t off, 
size_t size,
 
 2399                               CMD_LINE getopt, 
const char *values[],
 
 2404                     size, getopt, values, def_val, 
lock, binlog_status_arg,
 
 2415      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2416      size_t size [[maybe_unused]], 
CMD_LINE getopt, 
const char *def_val,
 
 2421      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 2424                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 2450                                 std::string_view)
 override {
 
 2458    return (
uchar *)ret;
 
 2466#ifdef HAVE_GTID_NEXT_LIST 
 2474class Sys_var_gtid_set : 
public sys_var {
 
 2477      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2479      enum binlog_status_enum binlog_status_arg = VARIABLE_NOT_IN_BINLOG,
 
 2480      on_check_function on_check_func = 0,
 
 2481      on_update_function on_update_func = 0, 
const char *substitute = 0,
 
 2482      int parse_flag = PARSE_NORMAL)
 
 2485                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 2498    char *ptr = (
char *)(
intptr)option.def_value;
 
 2510    if (res == 
nullptr) {
 
 2514    assert(res->
ptr() != 
nullptr);
 
 2526                           const std::string &)
 override {
 
 2530    if (gs == 
nullptr) 
return nullptr;
 
 2633    time_t current_time = time(
nullptr);
 
 2636      current_time = 1616893190;
 
 2640      current_time = 1616893200;
 
 2644    localtime_r(¤t_time, &tm_tmp);
 
 2656      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2661      const char *substitute = 
nullptr, 
int parse_flag = 
PARSE_NORMAL)
 
 2664                binlog_status_arg, on_check_func, on_update_func, substitute,
 
 2689    if (!res) 
return true;
 
 2743                                 std::string_view)
 override {
 
 2745    char *
buf = 
nullptr;
 
 2746    const bool remote = (target_thd != running_thd);
 
 2754#ifdef HAVE_GTID_NEXT_LIST 
 2756          target_thd->owned_gtid_set.get_string_length() + 1);
 
 2759        target_thd->owned_gtid_set.to_string(
buf);
 
 2796      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2797      size_t size, 
CMD_LINE getopt, 
const char *values[], uint def_val,
 
 2802                     def_val, 
lock, binlog_status_arg, on_check_func) {}
 
 2810      const char *name_arg, 
const char *
comment, 
int flag_args, ptrdiff_t off,
 
 2818                           lock, binlog_status_arg, on_check_func) {}
 
 2826                            int flag_args, ptrdiff_t off, 
size_t size,
 
 2831                     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:486
 
void wrlock()
Acquire the write lock.
Definition: rpl_gtid.h:495
 
void unlock()
Release the lock (whether it is a write or read lock).
Definition: rpl_gtid.h:506
 
Definition: sql_error.h:228
 
Represents a set of GTIDs.
Definition: rpl_gtid.h:1557
 
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:3378
 
const Gtid_set * get_lost_gtids() const
Return a pointer to the Gtid_set that contains the lost gtids.
Definition: rpl_gtid.h:3373
 
const Owned_gtids * get_owned_gtids() const
Return a pointer to the Owned_gtids that contains the owned gtids.
Definition: rpl_gtid.h:3394
 
int32 get_anonymous_ownership_count()
Return the number of clients that hold anonymous ownership.
Definition: rpl_gtid.h:3038
 
virtual double val_real()=0
 
virtual longlong val_int()=0
 
virtual Item_result result_type() const
Definition: item.h:1449
 
bool unsigned_flag
Definition: item.h:3774
 
virtual String * val_str(String *str)=0
 
Represents the set of GTIDs that are owned by some thread.
Definition: rpl_gtid.h:2587
 
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:2683
 
int to_string(char *out) const
Write a string representation of this Owned_gtids to the given buffer.
Definition: rpl_gtid.h:2657
 
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:437
 
LEX_CSTRING external_user() const
Getter method for member m_external_user.
Definition: sql_security_ctx.h:455
 
LEX_CSTRING proxy_user() const
Getter method for member m_proxy_user.
Definition: sql_security_ctx.cc:1108
 
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:353
 
bool set_user(const char *usr) override
Definition: sys_vars.h:435
 
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:379
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:459
 
const char * get_host() override
Definition: sys_vars.h:437
 
ulonglong get_max_value() override
Definition: sys_vars.h:410
 
sys_var & m_base_var
Definition: sys_vars.h:355
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:456
 
bool is_non_persistent() override
Definition: sys_vars.h:418
 
void set_timestamp(ulonglong ts) override
Definition: sys_vars.h:444
 
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:464
 
void cleanup() override
All the cleanup procedures should be performed here.
Definition: sys_vars.h:401
 
Sys_var_alias(const char *name_arg, sys_var &base_var)
Definition: sys_vars.h:395
 
ulonglong get_timestamp() const override
Definition: sys_vars.h:439
 
void set_source(enum_variable_source src) override
Definition: sys_vars.h:429
 
void update_default(longlong new_def_value) override
Definition: sys_vars.h:405
 
longlong get_default() override
Definition: sys_vars.h:408
 
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:450
 
void set_timestamp() override
Definition: sys_vars.h:443
 
sys_var & get_base_var()
Definition: sys_vars.h:399
 
void set_user_host(THD *thd) override
Definition: sys_vars.h:442
 
const char * get_user() override
Definition: sys_vars.h:436
 
bool set_source_name(const char *path) override
Definition: sys_vars.h:432
 
void set_arg_source(get_opt_arg_source *arg_source) override
Definition: sys_vars.h:412
 
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:468
 
void set_is_plugin(bool is_plugin) override
Definition: sys_vars.h:415
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:422
 
void global_save_default(THD *thd, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:453
 
const char * get_source_name() override
Definition: sys_vars.h:426
 
ulong get_var_type() override
Returns variable type.
Definition: sys_vars.h:411
 
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:419
 
enum_variable_source get_source() override
Definition: sys_vars.h:425
 
sys_var_pluginvar * cast_pluginvar() override
downcast for sys_var_pluginvar.
Definition: sys_vars.h:402
 
longlong get_min_value() override
Definition: sys_vars.h:409
 
bool set_host(const char *hst) override
Definition: sys_vars.h:438
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:447
 
Definition: sys_vars.h:2823
 
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:2825
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:7212
 
The class for bit variables - a variant of boolean that stores the value in a bit.
Definition: sys_vars.h:1920
 
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:1931
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1962
 
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:1965
 
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:1968
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1959
 
void set(uchar *ptr, ulonglong value)
Definition: sys_vars.h:1923
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1951
 
ulonglong bitmask
Definition: sys_vars.h:1921
 
bool reverse_semantics
Definition: sys_vars.h:1922
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1975
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1955
 
The class for boolean variables - a variant of ENUM variables with the fixed list of values of { OFF ...
Definition: sys_vars.h:686
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:709
 
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:688
 
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:713
 
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:720
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:717
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:704
 
Abstract base class for read-only variables (global or session) of string type where the value is gen...
Definition: sys_vars.h:2555
 
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2568
 
Sys_var_charptr_func(const char *name_arg, const char *comment, flag_enum flag_arg)
Definition: sys_vars.h:2557
 
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:2589
 
bool check_update_type(Item_result) override
Definition: sys_vars.h:2585
 
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2581
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2578
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2572
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2593
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2577
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2576
 
The class for string variables.
Definition: sys_vars.h:1009
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1035
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1096
 
void cleanup() override
All the cleanup procedures should be performed here.
Definition: sys_vars.h:1030
 
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:1092
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1076
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1070
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1059
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4066
 
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:1011
 
@session.dbug and @global.dbug variables.
Definition: sys_vars.h:1229
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1244
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:1268
 
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:1277
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1288
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1283
 
bool session_update(THD *, set_var *var) override
Definition: sys_vars.h:1255
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1263
 
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:1231
 
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:1273
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1269
 
A deprecated alias for a variable.
Definition: sys_vars.h:552
 
std::string m_comment
Definition: sys_vars.h:554
 
Sys_var_deprecated_alias(const char *name_arg, sys_var &base_var)
Definition: sys_vars.h:557
 
The class for floating point variables.
Definition: sys_vars.h:1392
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1428
 
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:1441
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1424
 
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:1394
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1438
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1432
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1416
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1435
 
Definition: sys_vars.h:2807
 
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:2809
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4534
 
A class for @global.binlog_checksum that has a specialized update method.
Definition: sys_vars.h:2395
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4082
 
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:2397
 
The class for ENUM variables - variables that take one value from a fixed list of values.
Definition: sys_vars.h:633
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:660
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:656
 
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:666
 
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:635
 
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:670
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:663
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:675
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:651
 
Definition: sys_vars.h:1163
 
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:1170
 
Sys_var_external_user(const char *name_arg, const char *comment_arg, enum charset_enum is_os_charset_arg)
Definition: sys_vars.h:1165
 
The class for flagset variables - a variant of SET that allows in-place editing (turning on/off indiv...
Definition: sys_vars.h:1523
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1587
 
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:1602
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1583
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1608
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1594
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1544
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1591
 
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:1525
 
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:1597
 
Class for @global.gtid_executed.
Definition: sys_vars.h:2602
 
Sys_var_gtid_executed(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2604
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2607
 
Definition: sys_vars.h:2793
 
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:2795
 
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:4222
 
Class for gtid_next.
Definition: sys_vars.h:2412
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2441
 
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:2449
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:4116
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2460
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2442
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2430
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2434
 
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2445
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2446
 
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:2414
 
Definition: sys_vars.h:2736
 
Sys_var_gtid_owned(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2738
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2779
 
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:2742
 
Class for @session.gtid_purged.
Definition: sys_vars.h:2653
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.cc:6551
 
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:2730
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2676
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:2684
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2702
 
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2667
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2706
 
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:2655
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2672
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2680
 
A subclass of Sys_var_have to return dynamic values.
Definition: sys_vars.h:2162
 
static enum SHOW_COMP_OPTION dummy_
Definition: sys_vars.h:2191
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:2185
 
enum SHOW_COMP_OPTION(* func_)(THD *)
Definition: sys_vars.h:2190
 
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:2172
 
The class for read-only variables that show whether a particular feature is supported by the server.
Definition: sys_vars.h:2109
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2137
 
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:2111
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:2141
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2148
 
bool check_update_type(Item_result) override
Definition: sys_vars.h:2152
 
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2129
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2142
 
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:2144
 
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:2133
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2143
 
Sys_var_integer template is used to generate Sys_var_* classes for variables that represent the value...
Definition: sys_vars.h:197
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:315
 
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:199
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:232
 
T * max_var_ptr()
Definition: sys_vars.h:328
 
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:311
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:308
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:300
 
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:318
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:304
 
The class for keycache_* variables.
Definition: sys_vars.h:1312
 
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:1368
 
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:1316
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1335
 
keycache_update_function keycache_update
Definition: sys_vars.h:1313
 
The class for string variables.
Definition: sys_vars.h:1191
 
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:1193
 
bool global_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1210
 
The class for the max_user_connections.
Definition: sys_vars.h:1484
 
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:1486
 
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:1497
 
A variant of enum where:
Definition: sys_vars.h:749
 
uint command_line_no_value
Definition: sys_vars.h:994
 
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:993
 
const uint value_count
The number of allowed numeric values.
Definition: sys_vars.h:983
 
uint alias_count
The number of elements of aliases (computed in the constructor).
Definition: sys_vars.h:987
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:954
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:928
 
const ALIAS * aliases
Array of all textual aliases.
Definition: sys_vars.h:985
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:913
 
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:965
 
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:916
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:941
 
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:834
 
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:885
 
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:801
 
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:961
 
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:855
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:976
 
The class for variables which value is a plugin.
Definition: sys_vars.h:1724
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:1823
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:1746
 
void session_save_default(THD *thd, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1799
 
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:1819
 
void global_save_default(THD *thd, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1803
 
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:1826
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1791
 
bool allow_secondary_engine
Definition: sys_vars.h:1726
 
void do_update(plugin_ref *valptr, plugin_ref newval)
Definition: sys_vars.h:1784
 
int plugin_type
Definition: sys_vars.h:1725
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1795
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1833
 
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:1729
 
Definition: sys_vars.h:1125
 
void session_save_default(THD *, set_var *) override
save the session default value of the variable in var
Definition: sys_vars.h:1148
 
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:1156
 
bool check_update_type(Item_result) override
Definition: sys_vars.h:1153
 
bool session_update(THD *, set_var *) override
Definition: sys_vars.h:1140
 
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:1136
 
Sys_var_proxy_user(const char *name_arg, const char *comment, enum charset_enum is_os_charset_arg)
Definition: sys_vars.h:1127
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:1144
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:1149
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:1150
 
Similar to Sys_var_session_special, but with double storage.
Definition: sys_vars.h:2050
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2084
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2081
 
session_special_read_double_function read_func
Definition: sys_vars.h:2054
 
double(* session_special_read_double_function)(THD *thd)
Definition: sys_vars.h:2052
 
session_special_update_function update_func
Definition: sys_vars.h:2055
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2085
 
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:2058
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2077
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2074
 
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:2088
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2093
 
bool(* session_special_update_function)(THD *thd, set_var *var)
Definition: sys_vars.h:2051
 
The class for variables that have a special meaning for a session, such as @timestamp or @rnd_seed1,...
Definition: sys_vars.h:1997
 
bool global_update(THD *, set_var *) override
Definition: sys_vars.h:2025
 
bool(* session_special_update_function)(THD *thd, set_var *var)
Definition: sys_vars.h:1998
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2022
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2029
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2041
 
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:2005
 
void global_save_default(THD *, set_var *) override
save the global default value of the variable in var
Definition: sys_vars.h:2032
 
ulonglong(* session_special_read_function)(THD *thd)
Definition: sys_vars.h:1999
 
session_special_read_function read_func
Definition: sys_vars.h:2001
 
session_special_update_function update_func
Definition: sys_vars.h:2002
 
void saved_value_to_string(THD *, set_var *, char *) override
This function converts value stored in save_result to string.
Definition: sys_vars.h:2033
 
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:2036
 
The class for SET variables - variables taking zero or more values from the given list.
Definition: sys_vars.h:1623
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:1680
 
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:1643
 
const uchar * global_value_ptr(THD *thd, std::string_view) override
Definition: sys_vars.h:1705
 
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:1625
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:1688
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:1691
 
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:1694
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:1684
 
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:1699
 
Generic class for variables for storing entities that are internally represented as structures,...
Definition: sys_vars.h:2208
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2256
 
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:2250
 
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:2259
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2235
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:2246
 
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:2210
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:2239
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2264
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2243
 
bool do_check(THD *, set_var *) override
Definition: sys_vars.h:2234
 
Class for @global.system_time_zone.
Definition: sys_vars.h:2624
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2631
 
Sys_var_system_time_zone(const char *name_arg, const char *comment_arg)
Definition: sys_vars.h:2626
 
The class for test_flags (core_file for now).
Definition: sys_vars.h:1456
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:1468
 
bool test_flag_value
Definition: sys_vars.h:1458
 
uint test_flag_mask
Definition: sys_vars.h:1459
 
Sys_var_test_flag(const char *name_arg, const char *comment, uint mask)
Definition: sys_vars.h:1462
 
Class representing the 'transaction_isolation' system variable.
Definition: sys_vars.h:2357
 
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:4991
 
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:2359
 
Class representing the tx_read_only system variable for setting default transaction access mode.
Definition: sys_vars.h:2379
 
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:5060
 
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:2381
 
Helper class for variables that take values from a TYPELIB.
Definition: sys_vars.h:568
 
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:573
 
bool do_check(THD *, set_var *var) override
Definition: sys_vars.h:591
 
TYPELIB typelib
Definition: sys_vars.h:570
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:614
 
The class for variables that store time zones.
Definition: sys_vars.h:2280
 
bool do_check(THD *thd, set_var *var) override
Definition: sys_vars.h:2297
 
bool session_update(THD *thd, set_var *var) override
Definition: sys_vars.h:2311
 
void global_save_default(THD *, set_var *var) override
save the global default value of the variable in var
Definition: sys_vars.h:2322
 
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:2282
 
bool check_update_type(Item_result type) override
Definition: sys_vars.h:2346
 
bool global_update(THD *, set_var *var) override
Definition: sys_vars.h:2315
 
void session_save_default(THD *, set_var *var) override
save the session default value of the variable in var
Definition: sys_vars.h:2319
 
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:2328
 
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:2325
 
const uchar * global_value_ptr(THD *, std::string_view) override
Definition: sys_vars.h:2342
 
Definition: sys_vars.h:1101
 
~Sys_var_version() override=default
 
const uchar * global_value_ptr(THD *thd, std::string_view keycache_name) override
Definition: sys_vars.h:1111
 
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:1103
 
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:3827
 
static const int OWNED_SIDNO_GTID_SET
Definition: sql_class.h:3828
 
double double_value
Definition: sql_class.h:2865
 
static const int OWNED_SIDNO_ANONYMOUS
Definition: sql_class.h:3829
 
Session_sysvar_resource_manager session_sysvar_res_mgr
Definition: sql_class.h:4509
 
void * alloc(size_t size)
Definition: sql_lexer_thd.h:50
 
union THD::@181 sys_var_tmp
 
bool bool_value
Definition: sql_class.h:2861
 
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:3835
 
char * strmake(const char *str, size_t size) const
Definition: sql_lexer_thd.h:52
 
Security_context * security_context() const
Definition: sql_class.h:1351
 
bool time_zone_used
Definition: sql_class.h:2825
 
ulonglong ulonglong_value
Definition: sql_class.h:2864
 
const USER_CONN * get_user_connect() const
Definition: sql_class.h:2472
 
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:711
 
#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:50
 
#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:1574
 
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:1359
 
const char * show_comp_option_name[]
Definition: mysqld.cc:1068
 
char system_time_zone_dst_off[30]
Definition: mysqld.cc:1508
 
bool opt_bin_log
Definition: mysqld.cc:1221
 
Tsid_map * global_tsid_map
Definition: mysqld.cc:1860
 
Gtid_state * gtid_state
Global state of GTIDs.
Definition: mysqld.cc:1861
 
Checkable_rwlock * global_tsid_lock
Protects Gtid_state. See comment above gtid_state for details.
Definition: mysqld.cc:1859
 
struct System_variables max_system_variables
Definition: mysqld.cc:1568
 
char system_time_zone_dst_on[30]
Definition: mysqld.cc:1508
 
static char * path
Definition: mysqldump.cc:150
 
arg_type
Definition: mysqltest.cc:1130
 
int find_set(REP_SETS *sets, REP_SET *find)
Definition: mysqltest.cc:11489
 
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1078
 
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:924
 
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:3194
 
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:690
 
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:175
 
int id
Definition: sys_vars.h:176
 
CMD_LINE(enum get_opt_arg_type getopt_arg_type, int getopt_id=0)
Definition: sys_vars.h:178
 
enum get_opt_arg_type arg_type
Definition: sys_vars.h:177
 
Holds information about a Gtid_set.
Definition: rpl_gtid.h:2540
 
Gtid_set * get_gtid_set() const
Return NULL if this is NULL, otherwise return the Gtid_set.
Definition: rpl_gtid.h:2546
 
This struct represents a specification of a GTID for a statement to be executed: either "AUTOMATIC",...
Definition: rpl_gtid.h:3999
 
static const int MAX_TEXT_LENGTH
Definition: rpl_gtid.h:4126
 
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:1138
 
rpl_sidno sidno
SIDNO of this Gtid.
Definition: rpl_gtid.h:1105
 
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:751
 
uint number
Definition: sys_vars.h:753
 
const char * alias
Definition: sys_vars.h:752
 
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:128
 
Sys_var_integer< ulong, GET_ULONG, SHOW_LONG, false > Sys_var_ulong
Definition: sys_vars.h:338
 
#define keycache_var_ptr(KC, OFF)
Definition: sys_vars.h:1296
 
#define keycache_var(KC, OFF)
Definition: sys_vars.h:1297
 
charset_enum
Definition: sys_vars.h:164
 
@ IN_SYSTEM_CHARSET
Definition: sys_vars.h:164
 
@ IN_FS_CHARSET
Definition: sys_vars.h:164
 
#define NON_PERSIST
Definition: sys_vars.h:146
 
#define MAX_SET(X)
Definition: sys_vars.h:1507
 
Sys_var_integer< uint, GET_UINT, SHOW_INT, false > Sys_var_uint
Definition: sys_vars.h:337
 
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:336
 
constexpr const unsigned long MAX_CONNECTIONS_DEFAULT
Maximum number of connections default value.
Definition: sys_vars.h:110
 
void update_parser_max_mem_size()
Definition: sys_vars.cc:3224
 
const char * fixup_enforce_gtid_consistency_command_line(char *value_arg)
Definition: sys_vars.cc:6399
 
#define session_var(THD, TYPE)
Definition: sys_vars.h:157
 
void update_temptable_max_ram_default()
Definition: sys_vars.cc:5164
 
Sys_var_integer< long, GET_LONG, SHOW_SIGNED_LONG, true > Sys_var_long
Definition: sys_vars.h:343
 
constexpr const unsigned long TABLE_DEF_CACHE_DEFAULT
Definition: sys_vars.h:104
 
#define GLOBAL_VAR(X)
Definition: sys_vars.h:119
 
bool(* keycache_update_function)(THD *, KEY_CACHE *, ptrdiff_t, ulonglong)
Definition: sys_vars.h:1298
 
void update_optimizer_switch()
Definition: sys_vars.cc:3234
 
static const char * bool_values[3]
Definition: sys_vars.h:166
 
constexpr const unsigned long TABLE_OPEN_CACHE_DEFAULT
Definition: sys_vars.h:103
 
#define global_var(TYPE)
Definition: sys_vars.h:158
 
Sys_var_integer< ha_rows, GET_HA_ROWS, SHOW_HA_ROWS, false > Sys_var_harows
Definition: sys_vars.h:340
 
Sys_var_integer< ulonglong, GET_ULL, SHOW_LONGLONG, false > Sys_var_ulonglong
Definition: sys_vars.h:342
 
"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