diff options
Diffstat (limited to 'sql/sql_trigger.cc')
-rw-r--r-- | sql/sql_trigger.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index f93fe196728..079f6d29e87 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -97,7 +97,10 @@ Trigger_creation_ctx::create(THD *thd, if (resolve_charset(client_cs_name->str, thd->variables.character_set_client, - &client_cs)) + &client_cs, + thd->variables.old_behavior & + OLD_MODE_UTF8_IS_UTF8MB3 ? + MYF(MY_UTF8_IS_UTF8MB3):MYF(0))) { sql_print_warning("Trigger for table '%s'.'%s': " "invalid character_set_client value (%s).", @@ -110,7 +113,10 @@ Trigger_creation_ctx::create(THD *thd, if (resolve_collation(connection_cl_name->str, thd->variables.collation_connection, - &connection_cl)) + &connection_cl, + thd->variables.old_behavior & + OLD_MODE_UTF8_IS_UTF8MB3 ? + MYF(MY_UTF8_IS_UTF8MB3):MYF(0))) { sql_print_warning("Trigger for table '%s'.'%s': " "invalid collation_connection value (%s).", @@ -121,7 +127,9 @@ Trigger_creation_ctx::create(THD *thd, invalid_creation_ctx= TRUE; } - if (resolve_collation(db_cl_name->str, NULL, &db_cl)) + if (resolve_collation(db_cl_name->str, NULL, &db_cl,thd->variables.old_behavior & + OLD_MODE_UTF8_IS_UTF8MB3 ? + MYF(MY_UTF8_IS_UTF8MB3) : MYF(0))) { sql_print_warning("Trigger for table '%s'.'%s': " "invalid database_collation value (%s).", |