summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <bar@bar.intranet.mysql.r18.ru>2004-03-19 11:37:49 +0400
committerunknown <bar@bar.intranet.mysql.r18.ru>2004-03-19 11:37:49 +0400
commit8bbb6d2b42f8f7f6ce50171addc4d57c5d2c81f4 (patch)
treecd74cc53bbea916c56fa4ee6b5672e3c0780cc14 /sql
parentbf4e1d4681554a9c8369ebce6c33fecac197f0e7 (diff)
downloadmariadb-git-8bbb6d2b42f8f7f6ce50171addc4d57c5d2c81f4.tar.gz
Bug #2821 Table default character set affects LONGBLOB fields
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_table.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index f4440f27945..8011809d6ab 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -470,9 +470,11 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name,
sql_field->charset= create_info->default_table_charset;
/*
table_charset is set in ALTER TABLE if we want change character set
- for all varchar/char columns
+ for all varchar/char columns.
+ But the table charset must not affect the BLOB fields, so don't
+ allow to change my_charset_bin to somethig else.
*/
- if (create_info->table_charset)
+ if (create_info->table_charset && sql_field->charset != &my_charset_bin)
sql_field->charset= create_info->table_charset;
sql_field->create_length_to_internal_length();