summaryrefslogtreecommitdiff
path: root/sql/sql_class.cc
diff options
context:
space:
mode:
authorunknown <bar@mysql.com>2004-07-06 17:15:43 +0500
committerunknown <bar@mysql.com>2004-07-06 17:15:43 +0500
commitdce5cc109d1e4717a4c024c939a044454c433a5b (patch)
treef5f71c8ac98ca07949d8bbbcd96655fdb2dac9ad /sql/sql_class.cc
parent46f90a6a3e1d5ac7695e7481cfae99ee9e6407aa (diff)
downloadmariadb-git-dce5cc109d1e4717a4c024c939a044454c433a5b.tar.gz
Bug#4417 binary character set breaks multi-byte table/field name.
Diffstat (limited to 'sql/sql_class.cc')
-rw-r--r--sql/sql_class.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/sql/sql_class.cc b/sql/sql_class.cc
index 7aa3bbbdd7b..ad4eb9f6801 100644
--- a/sql/sql_class.cc
+++ b/sql/sql_class.cc
@@ -533,21 +533,23 @@ bool THD::convert_string(String *s, CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
return FALSE;
}
+
/*
Update some cache variables when character set changes
*/
void THD::update_charset()
{
- charset_is_system_charset= my_charset_same(charset(),system_charset_info);
- charset_is_collation_connection= my_charset_same(charset(),
- variables.
- collation_connection);
+ uint32 not_used;
+ charset_is_system_charset= !String::needs_conversion(0,charset(),
+ system_charset_info,
+ &not_used);
+ charset_is_collation_connection=
+ !String::needs_conversion(0,charset(),variables.collation_connection,
+ &not_used);
}
-
-
/* routings to adding tables to list of changed in transaction tables */
inline static void list_include(CHANGED_TABLE_LIST** prev,