summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <ramil/ram@ramil.myoffice.izhnet.ru>2007-07-20 15:23:35 +0500
committerunknown <ramil/ram@ramil.myoffice.izhnet.ru>2007-07-20 15:23:35 +0500
commit91e5864d7034699e838852ea29c754b5ca9643a2 (patch)
tree287d67af7359b7a0376ac0127a16811475ee8d8f /sql
parent28ec0efcb6810c98af5bfbeeaaf0bfa13343a874 (diff)
parent6947f2d1316c7b0b7ede841a097328da8c21aa4d (diff)
downloadmariadb-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.cc6
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
{