diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-05-30 13:56:02 +0500 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-05-30 13:56:02 +0500 |
commit | 7953039deddbf08c62498d4551745563ec572993 (patch) | |
tree | f1d5f6c46fc33df2ba8bde5c0055214d11f1d8bb /sql/set_var.cc | |
parent | 677ece6612b833227977ea3cfbbff29328224b69 (diff) | |
download | mariadb-git-7953039deddbf08c62498d4551745563ec572993.tar.gz |
SET character_set_results=NULL is now working
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r-- | sql/set_var.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc index f1a36ae0292..eb44dd1dbcb 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1280,9 +1280,15 @@ bool sys_var_character_set::check(THD *thd, set_var *var) String str(buff,sizeof(buff), system_charset_info), *res; if (!(res=var->value->val_str(&str))) - res= &empty_string; - - if (!(tmp=get_charset_by_csname(res->c_ptr(),MY_CS_PRIMARY,MYF(0))) && + { + if (!nullable) + { + my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "NULL"); + return 1; + } + tmp= NULL; + } + else if (!(tmp=get_charset_by_csname(res->c_ptr(),MY_CS_PRIMARY,MYF(0))) && !(tmp=get_old_charset_by_name(res->c_ptr()))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), res->c_ptr()); |