~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sys_var.h

  • Committer: Brian Aker
  • Date: 2010-12-07 09:12:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1985.
  • Revision ID: brian@tangent.org-20101207091212-1m0w20tck6z7632m
This is a fix for bug lp:686197

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
{
37
37
 
38
38
class sys_var;
 
39
class sys_var_pluginvar; /* opaque */
39
40
class Time_zone;
40
41
typedef struct my_locale_st MY_LOCALE;
41
42
 
89
90
{
90
91
protected:
91
92
  std::string name; /**< The name of the variable */
92
 
  sys_check_func check_func;
93
93
  sys_after_update_func after_update; /**< Function pointer triggered after the variable's value is updated */
94
94
  struct option *option_limits; /**< Updated by by sys_var_init() */
95
95
  bool m_allow_empty_value; /**< Does variable allow an empty value? */
96
96
public:
97
 
  sys_var(const std::string &name_arg,
98
 
          sys_after_update_func func= NULL,
99
 
          sys_check_func check_func_arg= NULL)
 
97
  sys_var(const std::string &name_arg, sys_after_update_func func= NULL)
100
98
    :
101
99
    name(name_arg),
102
 
    check_func(check_func_arg),
103
100
    after_update(func),
104
101
    option_limits(NULL),
105
102
    m_allow_empty_value(true)
183
180
  {
184
181
    return 0;
185
182
  }
 
183
  virtual sys_var_pluginvar *cast_pluginvar()
 
184
  {
 
185
    return 0;
 
186
  }
186
187
};
187
188
 
188
189
/**
359
360
public:
360
361
  char *value;                                  // Pointer to allocated string
361
362
  uint32_t value_length;
 
363
  sys_check_func check_func;
362
364
  sys_update_func update_func;
363
365
  sys_set_default_func set_default_func;
364
366
  sys_var_str(const char *name_arg,
365
367
              sys_check_func check_func_arg,
366
368
              sys_update_func update_func_arg,
367
369
              sys_set_default_func set_default_func_arg,
368
 
              char *value_arg) :
369
 
    sys_var(name_arg, NULL, check_func_arg),
370
 
    value(value_arg),
371
 
    update_func(update_func_arg),
372
 
    set_default_func(set_default_func_arg)
 
370
              char *value_arg)
 
371
    :sys_var(name_arg), value(value_arg), check_func(check_func_arg),
 
372
    update_func(update_func_arg),set_default_func(set_default_func_arg)
373
373
  {  }
374
374
  bool check(Session *session, set_var *var);
375
375
  bool update(Session *session, set_var *var)
450
450
    default_value(value_arg.get())
451
451
  { }
452
452
 
453
 
  sys_var_constrained_value(const char *name_arg,
454
 
                            constrained_value<T> &value_arg,
455
 
                            sys_check_func check_func_arg) :
456
 
    sys_var(name_arg, NULL, check_func_arg),
457
 
    value(value_arg),
458
 
    default_value(value_arg.get())
459
 
  { }
460
453
 
461
454
public:
462
455
  bool is_readonly() const
1157
1150
*/
1158
1151
 
1159
1152
drizzle_show_var* enumerate_sys_vars(Session *session);
 
1153
void drizzle_add_plugin_sysvar(sys_var_pluginvar *var);
 
1154
void drizzle_del_plugin_sysvar();
1160
1155
void add_sys_var_to_list(sys_var *var, struct option *long_options);
1161
1156
void add_sys_var_to_list(sys_var *var);
1162
1157
sys_var *find_sys_var(const char *str, uint32_t length=0);