summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r--sql/sql_table.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 6f3f96d573f..924b6de0977 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -2200,10 +2200,12 @@ bool check_duplicates_in_interval(const char *set_or_name,
Generates an error to the diagnostics area in case of a failure.
*/
bool Column_definition::
- prepare_charset_for_string(const Column_derived_attributes *dattr)
+ prepare_charset_for_string(Charset_collation_map_st::Used *used,
+ const Charset_collation_map_st &map,
+ const Column_derived_attributes *dattr)
{
CHARSET_INFO *tmp= charset_collation_attrs().
- resolved_to_character_set(dattr->charset());
+ resolved_to_character_set(used, map, dattr->charset());
if (!tmp)
return true;
charset= tmp;
@@ -12457,8 +12459,10 @@ bool HA_CREATE_INFO::
{
// Make sure we don't do double resolution in direct SQL execution
DBUG_ASSERT(!default_table_charset || thd->stmt_arena->is_stmt_execute());
+ Character_set_collations_used used(thd);
if (!(default_table_charset=
- default_cscl.resolved_to_context(ctx)))
+ default_cscl.resolved_to_context(&used,
+ thd->variables.character_set_collations, ctx)))
return true;
}
@@ -12469,8 +12473,10 @@ bool HA_CREATE_INFO::
// Make sure we don't do double resolution in direct SQL execution
DBUG_ASSERT(!alter_table_convert_to_charset ||
thd->stmt_arena->is_stmt_execute());
+ Character_set_collations_used used(thd);
if (!(alter_table_convert_to_charset=
- convert_cscl.resolved_to_context(ctx)))
+ convert_cscl.resolved_to_context(&used,
+ thd->variables.character_set_collations, ctx)))
return true;
}
return false;