522
class sys_var_std_string :
526
sys_check_func check_func;
527
sys_update_func update_func;
528
sys_set_default_func set_default_func;
530
sys_var_std_string(const std::string &name_arg,
531
std::string &value_arg,
532
sys_check_func check_func_arg= NULL,
533
sys_update_func update_func_arg= NULL) :
536
check_func(check_func_arg),
537
update_func(update_func_arg)
540
inline void set(char *val_in)
545
void set_check_func(sys_check_func check_func_arg= NULL)
547
check_func= check_func_arg;
550
void set_update_func(sys_update_func update_func_arg= NULL)
552
update_func= update_func_arg;
555
bool check(Session *session, set_var *var);
557
bool update(Session *session, set_var *var)
559
if (update_func != NULL)
561
return (*update_func)(session, var);
565
SHOW_TYPE show_type() { return SHOW_CHAR; }
566
unsigned char *value_ptr(Session *, sql_var_t, const LEX_STRING *)
568
return (unsigned char*)(value.c_str());
570
bool check_update_type(Item_result type)
572
return type != STRING_RESULT; /* Only accept strings */
574
bool check_default(sql_var_t)
576
bool is_readonly() const { return false; }
522
579
class sys_var_const_string :