~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/set_var.h

Merge in Monty for set_var

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
class set_var :
68
68
  public set_var_base
69
69
{
 
70
  uint64_t uint64_t_value;
 
71
  std::string str_value;
70
72
public:
71
73
  sys_var *var;
72
74
  Item *value;
73
75
  sql_var_t type;
74
 
  union
75
 
  {
76
 
    const CHARSET_INFO *charset;
77
 
    uint32_t uint32_t_value;
78
 
    uint64_t uint64_t_value;
79
 
    size_t size_t_value;
80
 
    plugin::StorageEngine *storage_engine;
81
 
    Time_zone *time_zone;
82
 
    MY_LOCALE *locale_value;
83
 
  } save_result;
84
76
  LEX_STRING base;                      /* for structs */
85
77
 
86
78
  set_var(sql_var_t type_arg, sys_var *var_arg,
87
79
          const LEX_STRING *base_name_arg, Item *value_arg);
88
80
  int check(Session *session);
89
81
  int update(Session *session);
 
82
  void setValue(const std::string &new_value);
 
83
  void setValue(uint64_t new_value);
 
84
  void updateValue();
 
85
 
 
86
  uint64_t getInteger()
 
87
  {
 
88
    return uint64_t_value;
 
89
  }
 
90
 
90
91
};
91
92
 
92
93
/* User variables like @my_own_variable */