MySQL 8.0.39
Source Code Documentation
Sys_var_dbug Class Reference

@session.dbug and @global.dbug variables. More...

#include <sys_vars.h>

Inheritance diagram for Sys_var_dbug:
[legend]

Public Member Functions

 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)
 
bool do_check (THD *thd, set_var *var) override
 
bool session_update (THD *, set_var *var) override
 
bool global_update (THD *, set_var *var) override
 
void session_save_default (THD *, set_var *) override
 save the session default value of the variable in var More...
 
void global_save_default (THD *, set_var *var) override
 save the global default value of the variable in var More...
 
void saved_value_to_string (THD *, set_var *var, char *def_val) override
 This function converts value stored in save_result to string. More...
 
const ucharsession_value_ptr (THD *running_thd, THD *, std::string_view) override
 A pointer to a value of the variable for SHOW. More...
 
const ucharglobal_value_ptr (THD *thd, std::string_view) override
 
bool check_update_type (Item_result type) override
 
- Public Member Functions inherited from sys_var
 sys_var (sys_var_chain *chain, const char *name_arg, const char *comment, int flag_args, ptrdiff_t off, int getopt_id, enum get_opt_arg_type getopt_arg_type, SHOW_TYPE show_val_type_arg, longlong def_val, PolyLock *lock, enum binlog_status_enum binlog_status_arg, on_check_function on_check_func, on_update_function on_update_func, const char *substitute, int parse_flag, sys_var *persisted_alias=nullptr, bool is_persisted_deprecated=false)
 sys_var constructor More...
 
virtual ~sys_var ()=default
 
const char * get_deprecation_substitute ()
 
virtual void cleanup ()
 All the cleanup procedures should be performed here. More...
 
virtual sys_var_pluginvarcast_pluginvar ()
 downcast for sys_var_pluginvar. More...
 
bool check (THD *thd, set_var *var)
 
const ucharvalue_ptr (THD *running_thd, THD *target_thd, enum_var_type type, std::string_view keycache_name)
 
const ucharvalue_ptr (THD *thd, enum_var_type type, std::string_view keycache_name)
 
virtual void update_default (longlong new_def_value)
 
virtual longlong get_default ()
 
virtual longlong get_min_value ()
 
virtual ulonglong get_max_value ()
 
virtual ulong get_var_type ()
 Returns variable type. More...
 
virtual void set_arg_source (get_opt_arg_source *)
 
virtual void set_is_plugin (bool)
 
virtual enum_variable_source get_source ()
 
virtual const char * get_source_name ()
 
virtual void set_source (enum_variable_source src)
 
virtual bool set_source_name (const char *path)
 
virtual bool set_user (const char *usr)
 
virtual const char * get_user ()
 
virtual const char * get_host ()
 
virtual bool set_host (const char *hst)
 
virtual ulonglong get_timestamp () const
 
virtual void set_user_host (THD *thd)
 
my_optionget_option ()
 
virtual void set_timestamp ()
 
virtual void set_timestamp (ulonglong ts)
 
virtual bool is_non_persistent ()
 
bool set_default (THD *thd, set_var *var)
 Update the system variable with the default value from either session or global scope. More...
 
bool update (THD *thd, set_var *var)
 
SHOW_TYPE show_type ()
 
int scope () const
 
const CHARSET_INFOcharset (THD *thd)
 
bool is_readonly () const
 
bool not_visible () const
 
bool is_trilevel () const
 
bool is_persist_readonly () const
 
bool is_parse_early () const
 
bool is_sensitive () const
 
bool is_hint_updateable () const
 Check if the variable can be set using SET_VAR hint. More...
 
bool is_struct ()
 the following is only true for keycache variables, that support the syntax @keycache_name.variable_name More...
 
bool is_written_to_binlog (enum_var_type type)
 
bool check_scope (enum_var_type query_type)
 Return true for success if: Global query and variable scope is GLOBAL or SESSION, or Session query and variable scope is SESSION or ONLY_SESSION. More...
 
bool is_global_persist (enum_var_type type)
 
bool is_settable_at_command_line ()
 Return true if settable at the command line. More...
 
bool register_option (std::vector< my_option > *array, int parse_flags)
 
void do_deprecated_warning (THD *thd)
 
Itemcopy_value (THD *thd)
 Create item from system variable value. More...
 
void save_default (THD *thd, set_var *var)
 
bool check_if_sensitive_in_context (THD *, bool suppress_errors=true) const
 

Additional Inherited Members

- Public Types inherited from sys_var
enum  flag_enum {
  GLOBAL = 0x0001 , SESSION = 0x0002 , ONLY_SESSION = 0x0004 , SCOPE_MASK = 0x03FF ,
  READONLY = 0x0400 , ALLOCATED = 0x0800 , INVISIBLE = 0x1000 , TRI_LEVEL = 0x2000 ,
  NOTPERSIST = 0x4000 , HINT_UPDATEABLE = 0x8000 , PERSIST_AS_READ_ONLY = 0x10000 , SENSITIVE = 0x20000
}
 
enum  binlog_status_enum { VARIABLE_NOT_IN_BINLOG , SESSION_VARIABLE_IN_BINLOG }
 Enumeration type to indicate for a system variable whether it will be written to the binlog or not. More...
 
- Public Attributes inherited from sys_var
sys_varnext
 
LEX_CSTRING name
 
sys_varm_persisted_alias
 If the variable has an alias in the persisted variables file, this should point to it. More...
 
bool m_is_persisted_deprecated
 If m_persist_alias is set, and the current variable is deprecated and m_persist_alias is the recommended substitute, then this flag should be set to true. More...
 
enum sys_var::binlog_status_enum binlog_status
 
- Static Public Attributes inherited from sys_var
static const int PARSE_EARLY = 1
 
static const int PARSE_NORMAL = 2
 
- Protected Types inherited from sys_var
typedef bool(* on_check_function) (sys_var *self, THD *thd, set_var *var)
 
typedef bool(* pre_update_function) (sys_var *self, THD *thd, set_var *var)
 
typedef bool(* on_update_function) (sys_var *self, THD *thd, enum_var_type type)
 
- Protected Member Functions inherited from sys_var
ucharsession_var_ptr (THD *thd)
 A pointer to a storage area of the variable, to the raw data. More...
 
ucharglobal_var_ptr ()
 
- Protected Attributes inherited from sys_var
int flags
 or'ed flag_enum values More...
 
int m_parse_flag
 either PARSE_EARLY or PARSE_NORMAL. More...
 
const SHOW_TYPE show_val_type
 what value_ptr() returns for sql_show.cc More...
 
my_option option
 min, max, default values are stored here More...
 
PolyLockguard
 second lock that protects the variable More...
 
ptrdiff_t offset
 offset to the value from global_system_variables More...
 
on_check_function on_check
 
pre_update_function pre_update
 Pointer to function to be invoked before updating system variable (but after calling on_check hook), while we do not hold any locks yet. More...
 
on_update_function on_update
 
const char *const deprecation_substitute
 
bool is_os_charset
 true if the value is in character_set_filesystem More...
 
struct get_opt_arg_source source
 
char user [USERNAME_CHAR_LENGTH+1]
 
char host [HOSTNAME_LENGTH+1]
 
ulonglong timestamp
 

Detailed Description

@session.dbug and @global.dbug variables.

@dbug variable differs from other variables in one aspect: if its value is not assigned in the session, it "points" to the global value, and so when the global value is changed, the change immediately takes effect in the session.

This semantics is intentional, to be able to debug one session from another.

Constructor & Destructor Documentation

◆ Sys_var_dbug()

Sys_var_dbug::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 
)
inline

Member Function Documentation

◆ check_update_type()

bool Sys_var_dbug::check_update_type ( Item_result  type)
inlineoverridevirtual

Implements sys_var.

◆ do_check()

bool Sys_var_dbug::do_check ( THD thd,
set_var var 
)
inlineoverridevirtual

Implements sys_var.

◆ global_save_default()

void Sys_var_dbug::global_save_default ( THD thd,
set_var var 
)
inlineoverridevirtual

save the global default value of the variable in var

Implements sys_var.

◆ global_update()

bool Sys_var_dbug::global_update ( THD ,
set_var var 
)
inlineoverridevirtual

Implements sys_var.

◆ global_value_ptr()

const uchar * Sys_var_dbug::global_value_ptr ( THD thd,
std::string_view   
)
inlineoverridevirtual

Reimplemented from sys_var.

◆ saved_value_to_string()

void Sys_var_dbug::saved_value_to_string ( THD thd,
set_var var,
char *  def_val 
)
inlineoverridevirtual

This function converts value stored in save_result to string.

This function must be called after calling save_default() as save_default() will store default value to save_result.

Implements sys_var.

◆ session_save_default()

void Sys_var_dbug::session_save_default ( THD thd,
set_var var 
)
inlineoverridevirtual

save the session default value of the variable in var

Implements sys_var.

◆ session_update()

bool Sys_var_dbug::session_update ( THD ,
set_var var 
)
inlineoverridevirtual

Implements sys_var.

◆ session_value_ptr()

const uchar * Sys_var_dbug::session_value_ptr ( THD running_thd,
THD target_thd,
std::string_view  keycache_name 
)
inlineoverridevirtual

A pointer to a value of the variable for SHOW.

It must be of show_val_type type (bool for SHOW_BOOL, int for SHOW_INT, longlong for SHOW_LONGLONG, etc).

Reimplemented from sys_var.


The documentation for this class was generated from the following file: