diff options
author | unknown <monty@hundin.mysql.fi> | 2001-12-22 15:47:23 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-12-22 15:47:23 +0200 |
commit | 3a5f66292d8db9733bce5797c60e1dceb8542c15 (patch) | |
tree | 1e900b205700382d70ef04d867c14266d0206384 | |
parent | b24d5e4ef0c1806998a858eb122b556dc1cd36de (diff) | |
parent | 1b9930b1a8664554175178994e2fd1bf922223e2 (diff) | |
download | mariadb-git-3a5f66292d8db9733bce5797c60e1dceb8542c15.tar.gz |
Merge hundin.mysql.fi:/my/mysql-3.23
into hundin.mysql.fi:/my/bk/mysql-4.0
sql/ha_innobase.cc:
Auto merged
sql/ha_innobase.h:
Auto merged
-rw-r--r-- | sql/ha_innobase.cc | 3 | ||||
-rw-r--r-- | sql/ha_innobase.h | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc index 3a71da6ba84..836a1a4331e 100644 --- a/sql/ha_innobase.cc +++ b/sql/ha_innobase.cc @@ -2961,7 +2961,8 @@ ha_innobase::records_in_range( KEY* key; dict_index_t* index; mysql_byte* key_val_buff2 = (mysql_byte*) my_malloc( - table->reclength, + table->reclength + + table->max_key_length + 100, MYF(MY_WME)); dtuple_t* range_start; dtuple_t* range_end; diff --git a/sql/ha_innobase.h b/sql/ha_innobase.h index b6419a5e74e..b1613c2503c 100644 --- a/sql/ha_innobase.h +++ b/sql/ha_innobase.h @@ -96,10 +96,12 @@ class ha_innobase: public handler uint max_record_length() const { return HA_MAX_REC_LENGTH; } uint max_keys() const { return MAX_KEY; } uint max_key_parts() const { return MAX_REF_PARTS; } - /* An InnoDB page must store >= 2 keys: - max key length is therefore set to 7000 - bytes */ - uint max_key_length() const { return 7000; } + /* An InnoDB page must store >= 2 keys; + a secondary key record must also contain the + primary key value: + max key length is therefore set to slightly + less than 1 / 4 of page size which is 16 kB */ + uint max_key_length() const { return 3500; } bool fast_key_read() { return 1;} key_map keys_to_use_for_scanning() { return ~(key_map) 0; } bool has_transactions() { return 1;} |