From ebdda910284fe4e6fa8d06a63dd651f5a0e298c2 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 7 Aug 2002 23:11:26 +0200 Subject: one more "suboptimal memory usage during REPAIR for FULLTEXT keys" bug fixed --- myisam/mi_check.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'myisam/mi_check.c') 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))); } -- cgit v1.2.1