| 
|   | sys_var_pluginvar (sys_var_chain *chain, const char *name_arg, SYS_VAR *plugin_var_arg) | 
|   | 
| sys_var_pluginvar *  | cast_pluginvar () override | 
|   | downcast for sys_var_pluginvar.  More...
  | 
|   | 
| bool  | check_update_type (Item_result type) override | 
|   | 
| SHOW_TYPE  | show_type () | 
|   | 
| uchar *  | real_value_ptr (THD *thd, enum_var_type type) | 
|   | 
| TYPELIB *  | plugin_var_typelib (void) | 
|   | 
| uchar *  | do_value_ptr (THD *running_thd, THD *target_thd, enum_var_type type, std::string_view keycache_name) | 
|   | 
| uchar *  | do_value_ptr (THD *thd, enum_var_type type, std::string_view keycache_name) | 
|   | 
| 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.  More...
  | 
|   | 
| const uchar *  | global_value_ptr (THD *thd, std::string_view keycache_name) override | 
|   | 
| bool  | do_check (THD *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  | saved_value_to_string (THD *thd, set_var *var, char *def_val) override | 
|   | This function converts value stored in save_result to string.  More...
  | 
|   | 
| void  | global_save_default (THD *, set_var *) override | 
|   | save the global default value of the variable in var  More...
  | 
|   | 
| bool  | session_update (THD *thd, set_var *var) override | 
|   | 
| bool  | global_update (THD *thd, set_var *var) override | 
|   | 
| longlong  | get_min_value () override | 
|   | 
| ulonglong  | get_max_value () override | 
|   | 
| void  | set_arg_source (get_opt_arg_source *src) override | 
|   | 
| bool  | is_non_persistent () override | 
|   | 
| void  | set_is_plugin (bool val) override | 
|   | 
|   | 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...
  | 
|   | 
| bool  | check (THD *thd, set_var *var) | 
|   | 
| const uchar *  | value_ptr (THD *running_thd, THD *target_thd, enum_var_type type, std::string_view keycache_name) | 
|   | 
| const uchar *  | value_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 ulong  | get_var_type () | 
|   | Returns variable type.  More...
  | 
|   | 
| 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_option *  | get_option () | 
|   | 
| virtual void  | set_timestamp () | 
|   | 
| virtual void  | set_timestamp (ulonglong ts) | 
|   | 
| 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_INFO *  | charset (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) | 
|   | 
| Item *  | copy_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 | 
|   | 
 | 
| 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...
  | 
|   | 
| static const int  | PARSE_EARLY = 1 | 
|   | 
| static const int  | PARSE_NORMAL = 2 | 
|   | 
| 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) | 
|   | 
| uchar *  | session_var_ptr (THD *thd) | 
|   | A pointer to a storage area of the variable, to the raw data.  More...
  | 
|   | 
| uchar *  | global_var_ptr () | 
|   | 
| 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...
  | 
|   | 
| PolyLock *  | guard | 
|   | 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 | 
|   | 
Enforce the NO DEFAULT policy for plugin system variables. 
A plugin variable does not explicitly call the plugin supplied check function when setting the default value, e.g. SET <plugin_var> = DEFAULT.
But when the PLUGIN_VAR_NODEFAULT is set setting the default value is prohibited. This function gets called after the actual check done by sys_var_pluginvar::do_check() so it does not need to check again.
it only needs to enforce the PLUGIN_VAR_NODEFAULT flag.
There's no need for special error hence just returning true is enough.
- See also
 - sys_var::on_check_function, sys_var::check, sys_var_pluginvar::do_check(), PLUGIN_VAR_NODEFAULT
 
- Parameters
 - 
  
    | self | the sys_var structure for the variable being set  | 
    | var | the data about the value being set  | 
  
   
- Returns
 - is the setting valid 
 
- Return values
 -