one more "suboptimal memory usage during REPAIR for FULLTEXT keys" bug fixed

parent 3a2f5774
......@@ -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)));
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment