diff options
author | unknown <ramil/ram@ramil.myoffice.izhnet.ru> | 2007-07-20 15:23:35 +0500 |
---|---|---|
committer | unknown <ramil/ram@ramil.myoffice.izhnet.ru> | 2007-07-20 15:23:35 +0500 |
commit | 91e5864d7034699e838852ea29c754b5ca9643a2 (patch) | |
tree | 287d67af7359b7a0376ac0127a16811475ee8d8f /sql | |
parent | 28ec0efcb6810c98af5bfbeeaaf0bfa13343a874 (diff) | |
parent | 6947f2d1316c7b0b7ede841a097328da8c21aa4d (diff) | |
download | mariadb-git-91e5864d7034699e838852ea29c754b5ca9643a2.tar.gz |
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into mysql.com:/home/ram/work/b28125/b28125.5.0
mysql-test/t/innodb_mysql.test:
Auto merged
mysql-test/r/innodb_mysql.result:
manual merge.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_table.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 87f23097a66..0da639f9896 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1357,6 +1357,8 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, length); push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_TOO_LONG_KEY, warn_buff); + /* Align key length to multibyte char boundary */ + length-= length % sql_field->charset->mbmaxlen; } else { @@ -1387,8 +1389,6 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, if (length > file->max_key_part_length() && key->type != Key::FULLTEXT) { length= file->max_key_part_length(); - /* Align key length to multibyte char boundary */ - length-= length % sql_field->charset->mbmaxlen; if (key->type == Key::MULTIPLE) { /* not a critical problem */ @@ -1397,6 +1397,8 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info, length); push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, ER_TOO_LONG_KEY, warn_buff); + /* Align key length to multibyte char boundary */ + length-= length % sql_field->charset->mbmaxlen; } else { |