MySQL  8.0.18
Source Code Documentation
Sys_var_bit Class Reference

The class for bit variables - a variant of boolean that stores the value in a bit. More...

#include <sys_vars.h>

Inheritance diagram for Sys_var_bit:
Sys_var_typelib sys_var

Public Member Functions

 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=0, enum binlog_status_enum binlog_status_arg=VARIABLE_NOT_IN_BINLOG, on_check_function on_check_func=0, on_update_function on_update_func=0, const char *substitute=0)
 
bool session_update (THD *thd, set_var *var)
 
bool global_update (THD *, set_var *var)
 
void session_save_default (THD *, set_var *var)
 save the session default value of the variable in var More...
 
void global_save_default (THD *, set_var *var)
 save the global default value of the variable in var More...
 
void saved_value_to_string (THD *, set_var *var, char *def_val)
 This function converts value stored in save_result to string. More...
 
const ucharsession_value_ptr (THD *running_thd, THD *target_thd, LEX_STRING *)
 A pointer to a value of the variable for SHOW. More...
 
const ucharglobal_value_ptr (THD *thd, LEX_STRING *)
 
- Public Member Functions inherited from Sys_var_typelib
 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)
 
bool do_check (THD *, set_var *var)
 
bool check_update_type (Item_result type)
 
- 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 constructor More...
 
virtual ~sys_var ()
 
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, LEX_STRING *base)
 
const ucharvalue_ptr (THD *thd, enum_var_type type, LEX_STRING *base)
 
virtual void update_default (longlong new_def_value)
 
longlong get_default ()
 
virtual bool is_default (THD *thd, set_var *var)
 
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)
 
enum_variable_source get_source ()
 
const char * get_source_name ()
 
void set_source (enum_variable_source src)
 
bool set_source_name (const char *path)
 
bool set_user (const char *usr)
 
const char * get_user ()
 
const char * get_host ()
 
bool set_host (const char *hst)
 
ulonglong get_timestamp () const
 
void set_user_host (THD *thd)
 
my_optionget_option ()
 
void set_timestamp ()
 
void set_timestamp (ulonglong ts)
 
void clear_user_host_timestamp ()
 
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_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)
 

Private Member Functions

void set (uchar *ptr, ulonglong value)
 

Private Attributes

ulonglong bitmask
 
bool reverse_semantics
 

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
}
 
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
 
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(* 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_typelib
TYPELIB typelib
 
- 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
 
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

The class for bit variables - a variant of boolean that stores the value in a bit.

Class specific constructor arguments: ulonglong bitmask_arg - the mask for the bit to set in the ulonglong backing store

Backing store: ulonglong

Note
This class supports the "reverse" semantics, when the value of the bit being 0 corresponds to the value of variable being set. To activate it use REVERSE(bitmask) instead of simply bitmask in the constructor.
variables of this class cannot be set from the command line as my_getopt does not support bits.

Constructor & Destructor Documentation

◆ Sys_var_bit()

Sys_var_bit::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 = 0,
enum binlog_status_enum  binlog_status_arg = VARIABLE_NOT_IN_BINLOG,
on_check_function  on_check_func = 0,
on_update_function  on_update_func = 0,
const char *  substitute = 0 
)
inline

Member Function Documentation

◆ global_save_default()

void Sys_var_bit::global_save_default ( THD thd,
set_var var 
)
inlinevirtual

save the global default value of the variable in var

Implements sys_var.

◆ global_update()

bool Sys_var_bit::global_update ( THD ,
set_var var 
)
inlinevirtual

Implements sys_var.

◆ global_value_ptr()

const uchar* Sys_var_bit::global_value_ptr ( THD thd,
LEX_STRING  
)
inlinevirtual

Reimplemented from sys_var.

◆ saved_value_to_string()

void Sys_var_bit::saved_value_to_string ( THD thd,
set_var var,
char *  def_val 
)
inlinevirtual

This function converts value stored in save_result to string.

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

Implements sys_var.

◆ session_save_default()

void Sys_var_bit::session_save_default ( THD thd,
set_var var 
)
inlinevirtual

save the session default value of the variable in var

Implements sys_var.

◆ session_update()

bool Sys_var_bit::session_update ( THD thd,
set_var var 
)
inlinevirtual

Implements sys_var.

◆ session_value_ptr()

const uchar* Sys_var_bit::session_value_ptr ( THD running_thd,
THD target_thd,
LEX_STRING base 
)
inlinevirtual

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.

◆ set()

void Sys_var_bit::set ( uchar ptr,
ulonglong  value 
)
inlineprivate

Member Data Documentation

◆ bitmask

ulonglong Sys_var_bit::bitmask
private

◆ reverse_semantics

bool Sys_var_bit::reverse_semantics
private

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