summaryrefslogtreecommitdiffstats
path: root/sql/sys_vars.inl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sql/sys_vars.inl17
1 files changed, 3 insertions, 14 deletions
diff --git a/sql/sys_vars.inl b/sql/sys_vars.inl
index 2fd6d042..932b12fc 100644
--- a/sql/sys_vars.inl
+++ b/sql/sys_vars.inl
@@ -947,21 +947,10 @@ public:
{ option.var_type|= GET_STR; }
bool do_check(THD *thd, set_var *var)
{
- char buff[STRING_BUFFER_USUAL_SIZE];
- String str(buff, sizeof(buff), system_charset_info), *res;
-
- if (!(res=var->value->val_str(&str)))
- {
+ bool rc= Sys_var_charptr::do_string_check(thd, var, charset(thd));
+ if (var->save_result.string_value.str == nullptr)
var->save_result.string_value.str= const_cast<char*>("");
- var->save_result.string_value.length= 0;
- }
- else
- {
- size_t len= res->length();
- var->save_result.string_value.str= thd->strmake(res->ptr(), len);
- var->save_result.string_value.length= len;
- }
- return false;
+ return rc;
}
bool session_update(THD *thd, set_var *var)
{