diff options
author | unknown <serg@sergbook.mysql.com> | 2002-08-07 23:11:26 +0200 |
---|---|---|
committer | unknown <serg@sergbook.mysql.com> | 2002-08-07 23:11:26 +0200 |
commit | ebdda910284fe4e6fa8d06a63dd651f5a0e298c2 (patch) | |
tree | 7225cdda5203637cb7a6352dbad50f51877fa1af /myisam/mi_check.c | |
parent | 4af8be3bf95a0c915b1342c36a14fb9d253bcaa7 (diff) | |
download | mariadb-git-ebdda910284fe4e6fa8d06a63dd651f5a0e298c2.tar.gz |
one more "suboptimal memory usage during REPAIR for FULLTEXT keys" bug fixed
Diffstat (limited to 'myisam/mi_check.c')
-rw-r--r-- | myisam/mi_check.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c index d21bcfd1f4d..b3fc0d4a296 100644 --- a/myisam/mi_check.c +++ b/myisam/mi_check.c @@ -3671,12 +3671,15 @@ ha_checksum mi_byte_checksum(const byte *buf, uint length) static my_bool mi_too_big_key_for_sort(MI_KEYDEF *key, ha_rows rows) { + uint key_maxlength=key->maxlength; + if (key->flag & HA_FULLTEXT) + key_maxlength+=ft_max_word_len_for_sort-HA_FT_MAXLEN; return (key->flag & (HA_BINARY_PACK_KEY | HA_VAR_LENGTH_KEY | HA_FULLTEXT) && - ((ulonglong) rows * key->maxlength > + ((ulonglong) rows * key_maxlength > (ulonglong) myisam_max_temp_length || - (ulonglong) rows * (key->maxlength - key->minlength) / 2 > + (ulonglong) rows * (key_maxlength - key->minlength) / 2 > myisam_max_extra_temp_length || - (rows == 0 && (key->maxlength / key->minlength) > 2))); + (rows == 0 && (key_maxlength / key->minlength) > 2))); } |