~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to server/set_var.h

MergedĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
182
182
};
183
183
 
184
184
 
185
 
class sys_var_ulonglong_ptr :public sys_var
 
185
class sys_var_uint64_t_ptr :public sys_var
186
186
{
187
 
  ulonglong *value;
 
187
  uint64_t *value;
188
188
public:
189
 
  sys_var_ulonglong_ptr(sys_var_chain *chain, const char *name_arg, ulonglong *value_ptr_arg)
 
189
  sys_var_uint64_t_ptr(sys_var_chain *chain, const char *name_arg, uint64_t *value_ptr_arg)
190
190
    :sys_var(name_arg),value(value_ptr_arg)
191
191
  { chain_sys_var(chain); }
192
 
  sys_var_ulonglong_ptr(sys_var_chain *chain, const char *name_arg, ulonglong *value_ptr_arg,
 
192
  sys_var_uint64_t_ptr(sys_var_chain *chain, const char *name_arg, uint64_t *value_ptr_arg,
193
193
                       sys_after_update_func func)
194
194
    :sys_var(name_arg,func), value(value_ptr_arg)
195
195
  { chain_sys_var(chain); }
206
206
class sys_var_bool_ptr :public sys_var
207
207
{
208
208
public:
209
 
  my_bool *value;
210
 
  sys_var_bool_ptr(sys_var_chain *chain, const char *name_arg, my_bool *value_arg)
 
209
  bool *value;
 
210
  sys_var_bool_ptr(sys_var_chain *chain, const char *name_arg, bool *value_arg)
211
211
    :sys_var(name_arg),value(value_arg)
212
212
  { chain_sys_var(chain); }
213
213
  bool check(THD *thd, set_var *var)
225
225
  { return 0; }
226
226
};
227
227
 
228
 
 
229
228
class sys_var_bool_ptr_readonly :public sys_var_bool_ptr
230
229
{
231
230
public:
232
231
  sys_var_bool_ptr_readonly(sys_var_chain *chain, const char *name_arg,
233
 
                            my_bool *value_arg)
 
232
                            bool *value_arg)
234
233
    :sys_var_bool_ptr(chain, name_arg, value_arg)
235
234
  {}
236
235
  bool is_readonly() const { return 1; }
451
450
};
452
451
 
453
452
 
454
 
class sys_var_thd_ulonglong :public sys_var_thd
 
453
class sys_var_thd_uint64_t :public sys_var_thd
455
454
{
456
455
public:
457
 
  ulonglong SV::*offset;
 
456
  uint64_t SV::*offset;
458
457
  bool only_global;
459
 
  sys_var_thd_ulonglong(sys_var_chain *chain, const char *name_arg, 
460
 
                        ulonglong SV::*offset_arg)
 
458
  sys_var_thd_uint64_t(sys_var_chain *chain, const char *name_arg, 
 
459
                        uint64_t SV::*offset_arg)
461
460
    :sys_var_thd(name_arg), offset(offset_arg)
462
461
  { chain_sys_var(chain); }
463
 
  sys_var_thd_ulonglong(sys_var_chain *chain, const char *name_arg, 
464
 
                        ulonglong SV::*offset_arg,
 
462
  sys_var_thd_uint64_t(sys_var_chain *chain, const char *name_arg, 
 
463
                        uint64_t SV::*offset_arg,
465
464
                        sys_after_update_func func, bool only_global_arg)
466
465
    :sys_var_thd(name_arg, func), offset(offset_arg),
467
466
    only_global(only_global_arg)
550
549
  }
551
550
  void set_default(THD *thd, enum_var_type type);
552
551
  uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base);
553
 
  static bool symbolic_mode_representation(THD *thd, ulonglong sql_mode,
 
552
  static bool symbolic_mode_representation(THD *thd, uint64_t sql_mode,
554
553
                                           LEX_STRING *rep);
555
554
};
556
555
 
580
579
  sys_check_func check_func;
581
580
  sys_update_func update_func;
582
581
public:
583
 
  ulonglong bit_flag;
 
582
  uint64_t bit_flag;
584
583
  bool reverse;
585
584
  sys_var_thd_bit(sys_var_chain *chain, const char *name_arg,
586
585
                  sys_check_func c_func, sys_update_func u_func,
587
 
                  ulonglong bit, bool reverse_arg=0,
 
586
                  uint64_t bit, bool reverse_arg=0,
588
587
                  Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
589
588
    :sys_var_thd(name_arg, NULL, binlog_status_arg), check_func(c_func),
590
589
    update_func(u_func), bit_flag(bit), reverse(reverse_arg)
847
846
{
848
847
  uint log_type;
849
848
public:
850
 
  sys_var_log_state(sys_var_chain *chain, const char *name_arg, my_bool *value_arg, 
 
849
  sys_var_log_state(sys_var_chain *chain, const char *name_arg, bool *value_arg, 
851
850
                    uint log_type_arg)
852
851
    :sys_var_bool_ptr(chain, name_arg, value_arg), log_type(log_type_arg) {}
853
852
  bool update(THD *thd, set_var *var);
1053
1052
 
1054
1053
class sys_var_microseconds :public sys_var_thd
1055
1054
{
1056
 
  ulonglong SV::*offset;
 
1055
  uint64_t SV::*offset;
1057
1056
public:
1058
1057
  sys_var_microseconds(sys_var_chain *chain, const char *name_arg,
1059
 
                       ulonglong SV::*offset_arg):
 
1058
                       uint64_t SV::*offset_arg):
1060
1059
    sys_var_thd(name_arg), offset(offset_arg)
1061
1060
  { chain_sys_var(chain); }
1062
1061
  bool check(THD *thd __attribute__((__unused__)),
1071
1070
  uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base);
1072
1071
};
1073
1072
 
1074
 
 
1075
 
class sys_var_trust_routine_creators :public sys_var_bool_ptr
1076
 
{
1077
 
  /* We need a derived class only to have a warn_deprecated() */
1078
 
public:
1079
 
  sys_var_trust_routine_creators(sys_var_chain *chain,
1080
 
                                 const char *name_arg, my_bool *value_arg) :
1081
 
    sys_var_bool_ptr(chain, name_arg, value_arg) {};
1082
 
  void warn_deprecated(THD *thd);
1083
 
  void set_default(THD *thd, enum_var_type type);
1084
 
  bool update(THD *thd, set_var *var);
1085
 
};
1086
 
 
1087
1073
/**
1088
1074
  Handler for setting the system variable --read-only.
1089
1075
*/
1092
1078
{
1093
1079
public:
1094
1080
  sys_var_opt_readonly(sys_var_chain *chain, const char *name_arg, 
1095
 
                       my_bool *value_arg) :
 
1081
                       bool *value_arg) :
1096
1082
    sys_var_bool_ptr(chain, name_arg, value_arg) {};
1097
1083
  ~sys_var_opt_readonly() {};
1098
1084
  bool update(THD *thd, set_var *var);
1167
1153
  {
1168
1154
    CHARSET_INFO *charset;
1169
1155
    ulong ulong_value;
1170
 
    ulonglong ulonglong_value;
 
1156
    uint64_t uint64_t_value;
1171
1157
    plugin_ref plugin;
1172
1158
    DATE_TIME_FORMAT *date_time_format;
1173
1159
    Time_zone *time_zone;