summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2001-12-22 15:47:23 +0200
committerunknown <monty@hundin.mysql.fi>2001-12-22 15:47:23 +0200
commit3a5f66292d8db9733bce5797c60e1dceb8542c15 (patch)
tree1e900b205700382d70ef04d867c14266d0206384
parentb24d5e4ef0c1806998a858eb122b556dc1cd36de (diff)
parent1b9930b1a8664554175178994e2fd1bf922223e2 (diff)
downloadmariadb-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.cc3
-rw-r--r--sql/ha_innobase.h10
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;}