diff options
Diffstat (limited to 'sql/set_var.h')
-rw-r--r-- | sql/set_var.h | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/sql/set_var.h b/sql/set_var.h index 5b8fa1358cb..653f9b5155d 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -376,21 +376,14 @@ public: }; -class sys_var_enum_const :public sys_var +class sys_var_enum_const :public sys_var_enum { - ulong SV::*offset; - TYPELIB *enum_names; public: - sys_var_enum_const(sys_var_chain *chain, const char *name_arg, ulong SV::*offset_arg, - TYPELIB *typelib, sys_after_update_func func) - :sys_var(name_arg,func), offset(offset_arg), enum_names(typelib) - { chain_sys_var(chain); } - bool check(THD *thd, set_var *var) { return 1; } - bool update(THD *thd, set_var *var) { return 1; } - SHOW_TYPE show_type() { return SHOW_CHAR; } - bool check_update_type(Item_result type) { return 1; } + sys_var_enum_const(sys_var_chain *chain, const char *name_arg, + uint *value_arg, TYPELIB *typelib) + :sys_var_enum(chain, name_arg, value_arg, typelib, 0) + { } bool is_readonly() const { return 1; } - uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base); }; @@ -675,6 +668,7 @@ public: Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG) :sys_var(name_arg, NULL, binlog_status_arg) { chain_sys_var(chain); } + bool check(THD *thd, set_var *var); bool update(THD *thd, set_var *var); void set_default(THD *thd, enum_var_type type); bool check_type(enum_var_type type) { return type == OPT_GLOBAL; } @@ -1458,7 +1452,7 @@ sys_var *find_sys_var(THD *thd, const char *str, uint length=0); int sql_set_variables(THD *thd, List<set_var_base> *var_list); bool not_all_support_one_shot(List<set_var_base> *var_list); void fix_delay_key_write(THD *thd, enum_var_type type); -void fix_slave_exec_mode(enum_var_type type); +void fix_slave_exec_mode(void); ulong fix_sql_mode(ulong sql_mode); extern sys_var_const_str sys_charset_system; extern sys_var_str sys_init_connect; |