summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorMonty <monty@mariadb.org>2016-02-06 18:14:54 +0200
committerMonty <monty@mariadb.org>2016-02-06 18:14:54 +0200
commitb2f8d7b41001a5da11b2d99a055a207c3911a213 (patch)
treed108ed6d1f38543305235fec6a63228a5a2f08d5 /sql/item_strfunc.h
parentd4b3a199acb0ddcdedff441ae664b0a2cf2fe8d2 (diff)
parent07b8aefe90ca830d2de068f2966cd2288b158a88 (diff)
downloadmariadb-git-b2f8d7b41001a5da11b2d99a055a207c3911a213.tar.gz
Merge branch '10.1' into 10.2
Conflicts: VERSION cmake/plugin.cmake config.h.cmake configure.cmake plugin/server_audit/server_audit.c sql/sql_yacc.yy
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index dfa38d7eed6..0ff38157c25 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -960,20 +960,22 @@ class Item_func_conv_charset :public Item_str_func
String tmp_value;
public:
bool safe;
- CHARSET_INFO *conv_charset; // keep it public
Item_func_conv_charset(THD *thd, Item *a, CHARSET_INFO *cs):
Item_str_func(thd, a)
- { conv_charset= cs; use_cached_value= 0; safe= 0; }
+ {
+ collation.set(cs, DERIVATION_IMPLICIT);
+ use_cached_value= 0; safe= 0;
+ }
Item_func_conv_charset(THD *thd, Item *a, CHARSET_INFO *cs, bool cache_if_const):
Item_str_func(thd, a)
{
- conv_charset= cs;
+ collation.set(cs, DERIVATION_IMPLICIT);
if (cache_if_const && args[0]->const_item() && !args[0]->is_expensive())
{
uint errors= 0;
String tmp, *str= args[0]->val_str(&tmp);
if (!str || str_value.copy(str->ptr(), str->length(),
- str->charset(), conv_charset, &errors))
+ str->charset(), cs, &errors))
null_value= 1;
use_cached_value= 1;
str_value.mark_as_const();