diff options
author | unknown <igor@olga.mysql.com> | 2007-06-30 20:49:28 -0700 |
---|---|---|
committer | unknown <igor@olga.mysql.com> | 2007-06-30 20:49:28 -0700 |
commit | 26a2b00498c5da514abe7056032ea37f7115b1e1 (patch) | |
tree | ed6bbc6971d75074b67617c9c71dbae1f71a8996 /storage/myisam | |
parent | 2ca2b232e3fd7e82c4502f4ebd21a85e01d547a3 (diff) | |
parent | 8dcd5fca6977a8aafb0dd874b348e0078eafda94 (diff) | |
download | mariadb-git-26a2b00498c5da514abe7056032ea37f7115b1e1.tar.gz |
Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into olga.mysql.com:/home/igor/dev-opt/mysql-5.1-opt
mysql-test/r/binary.result:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/binary.test:
Auto merged
mysql-test/t/create.test:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/field_conv.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql-common/client.c:
Auto merged
sql/sql_select.h:
Auto merged
sql/table.cc:
Auto merged
storage/myisam/mi_open.c:
Auto merged
strings/ctype-simple.c:
Auto merged
mysql-test/r/create.result:
Manual merge.
mysql-test/r/subselect.result:
Manual merge.
mysql-test/r/type_enum.result:
Manual merge.
mysql-test/t/type_enum.test:
Manual merge.
mysql-test/include/mix1.inc:
Manual merge.
mysql-test/r/innodb_mysql.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/sql_parse.cc:
Manual merge.
storage/myisam/mi_key.c:
Manual merge.
Diffstat (limited to 'storage/myisam')
-rw-r--r-- | storage/myisam/mi_key.c | 12 | ||||
-rw-r--r-- | storage/myisam/mi_open.c | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/storage/myisam/mi_key.c b/storage/myisam/mi_key.c index 230ebac3bb0..5b3662c4f28 100644 --- a/storage/myisam/mi_key.c +++ b/storage/myisam/mi_key.c @@ -254,16 +254,16 @@ uint _mi_pack_key(register MI_INFO *info, uint keynr, uchar *key, uchar *old, if (keyseg->flag & HA_SPACE_PACK) { uchar *end=pos+length; - if (type != HA_KEYTYPE_NUM) - { - while (end > pos && end[-1] == ' ') - end--; - } - else + if (type == HA_KEYTYPE_NUM) { while (pos < end && pos[0] == ' ') pos++; } + else if (type != HA_KEYTYPE_BINARY) + { + while (end > pos && end[-1] == ' ') + end--; + } length=(uint) (end-pos); FIX_LENGTH(cs, pos, length, char_length); store_key_length_inc(key,char_length); diff --git a/storage/myisam/mi_open.c b/storage/myisam/mi_open.c index 9ff8ecdb14d..405dca641d1 100644 --- a/storage/myisam/mi_open.c +++ b/storage/myisam/mi_open.c @@ -236,7 +236,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags) key_parts+=fulltext_keys*FT_SEGS; if (share->base.max_key_length > MI_MAX_KEY_BUFF || keys > MI_MAX_KEY || - key_parts >= MI_MAX_KEY * MI_MAX_KEY_SEG) + key_parts > MI_MAX_KEY * MI_MAX_KEY_SEG) { DBUG_PRINT("error",("Wrong key info: Max_key_length: %d keys: %d key_parts: %d", share->base.max_key_length, keys, key_parts)); my_errno=HA_ERR_UNSUPPORTED; |