summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorserg@serg.mysql.com <>2001-04-17 21:30:02 +0200
committerserg@serg.mysql.com <>2001-04-17 21:30:02 +0200
commit185c2beaea68c4f267e3285022a5a30e34d41adb (patch)
tree6c294f797e941fcb6156771d2a0f0dd4393d06bb /myisam
parentf751ab1a9ad87e9df09554dc636abc521432c34f (diff)
downloadmariadb-git-185c2beaea68c4f267e3285022a5a30e34d41adb.tar.gz
ft_* variables added
Diffstat (limited to 'myisam')
-rw-r--r--myisam/ft_dump.c2
-rw-r--r--myisam/ft_parser.c4
-rw-r--r--myisam/ft_static.c4
-rw-r--r--myisam/ft_stopwords.c2
-rw-r--r--myisam/ftdefs.h4
-rw-r--r--myisam/fulltext.h1
-rw-r--r--myisam/mi_check.c4
-rw-r--r--myisam/myisamchk.c6
8 files changed, 16 insertions, 11 deletions
diff --git a/myisam/ft_dump.c b/myisam/ft_dump.c
index af49d834d0f..62e2a67dfc2 100644
--- a/myisam/ft_dump.c
+++ b/myisam/ft_dump.c
@@ -25,7 +25,7 @@ static void complain(int val);
static int count=0, stats=0, dump=0, verbose=0;
static char *query=NULL;
-#define MAX (MAX_WORD_LEN+10)
+#define MAX (HA_FT_MAXLEN+10)
#define HOW_OFTEN_TO_WRITE 1000
int main(int argc,char *argv[])
diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c
index 09c93d7dc5b..d156c8c5556 100644
--- a/myisam/ft_parser.c
+++ b/myisam/ft_parser.c
@@ -164,7 +164,7 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param)
if ((param->trunc=(doc<end && *doc == FTB_TRUNC)))
doc++;
- if (word->len >= MIN_WORD_LEN && word->len < MAX_WORD_LEN &&
+ if (word->len >= ft_min_word_len && word->len < ft_max_word_len &&
!is_stopword(word->pos, word->len))
{
*start=doc;
@@ -195,7 +195,7 @@ byte ft_simple_get_word(byte **start, byte *end, FT_WORD *word)
word->len= (uint)(doc-word->pos) - mwc;
- if (word->len >= MIN_WORD_LEN && word->len < MAX_WORD_LEN &&
+ if (word->len >= ft_min_word_len && word->len < ft_max_word_len &&
!is_stopword(word->pos, word->len))
{
*start=doc;
diff --git a/myisam/ft_static.c b/myisam/ft_static.c
index 00d9d4ed19a..09afadec23f 100644
--- a/myisam/ft_static.c
+++ b/myisam/ft_static.c
@@ -18,6 +18,10 @@
#include "ftdefs.h"
+uint ft_min_word_len=4;
+uint ft_max_word_len=HA_FT_MAXLEN;
+uint ft_max_word_len_for_sort=20;
+
const MI_KEYSEG ft_keysegs[FT_SEGS]={
{
HA_KEYTYPE_VARTEXT, /* type */
diff --git a/myisam/ft_stopwords.c b/myisam/ft_stopwords.c
index d796b87ed71..556f52650c8 100644
--- a/myisam/ft_stopwords.c
+++ b/myisam/ft_stopwords.c
@@ -48,7 +48,7 @@ int ft_init_stopwords(const char **sws)
for(;*sws;sws++)
{
- if( (sw.len= (uint) strlen(sw.pos=*sws)) < MIN_WORD_LEN) continue;
+ if( (sw.len= (uint) strlen(sw.pos=*sws)) < ft_min_word_len) continue;
if(!tree_insert(stopwords3, &sw, 0))
{
delete_tree(stopwords3); /* purecov: inspected */
diff --git a/myisam/ftdefs.h b/myisam/ftdefs.h
index b0aeb652b36..6721d136678 100644
--- a/myisam/ftdefs.h
+++ b/myisam/ftdefs.h
@@ -22,10 +22,6 @@
#include <m_ctype.h>
#include <my_tree.h>
-#define MIN_WORD_LEN 4
-#define MAX_WORD_LEN HA_FT_MAXLEN
-#define MAX_WORD_LEN_FOR_SORT 20
-
#define HYPHEN_IS_DELIM
#define HYPHEN_IS_CONCAT /* not used for now */
diff --git a/myisam/fulltext.h b/myisam/fulltext.h
index 8fcac8172b1..f787c9bcfe8 100644
--- a/myisam/fulltext.h
+++ b/myisam/fulltext.h
@@ -24,7 +24,6 @@
/* shoudn't be def'ed when linking with mysql */
#undef EVAL_RUN
-#define HA_FT_MAXLEN 254
#define HA_FT_WTYPE HA_KEYTYPE_FLOAT
#define HA_FT_WLEN 4
#ifdef EVAL_RUN
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index d588da23d84..b19a3ffdfbc 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -1875,10 +1875,10 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
if (sort_info->keyinfo->flag & HA_FULLTEXT)
{
sort_param.max_records=sort_info->max_records=
- (ha_rows) (sort_info->filelength/MAX_WORD_LEN_FOR_SORT+1);
+ (ha_rows) (sort_info->filelength/ft_max_word_len_for_sort+1);
sort_param.key_read=sort_ft_key_read;
- sort_param.key_length+=MAX_WORD_LEN_FOR_SORT-MAX_WORD_LEN;
+ sort_param.key_length+=ft_max_word_len_for_sort-ft_max_word_len;
}
else
sort_param.key_read=sort_key_read;
diff --git a/myisam/myisamchk.c b/myisam/myisamchk.c
index cbdd6a26767..cff5f781538 100644
--- a/myisam/myisamchk.c
+++ b/myisam/myisamchk.c
@@ -152,6 +152,12 @@ static CHANGEABLE_VAR changeable_vars[] = {
{ "sort_key_blocks",(long*) &check_param.sort_key_blocks,BUFFERS_WHEN_SORTING,4L,100L,0L,
1L },
{ "decode_bits",(long*) &decode_bits,9L,4L,17L,0L,1L },
+ { "ft_min_word_len", (long*) &ft_min_word_len,
+ 4, 1, HA_FT_MAXLEN, 0, 1 },
+ { "ft_max_word_len", (long*) &ft_max_word_len,
+ HA_FT_MAXLEN, 10, HA_FT_MAXLEN, 0, 1 },
+ { "ft_max_word_len_for_sort",(long*) &ft_max_word_len_for_sort,
+ 20, 4, HA_FT_MAXLEN, 0, 1 },
{ NullS,(long*) 0,0L,0L,0L,0L,0L,} };
enum options {OPT_CHARSETS_DIR=256, OPT_SET_CHARSET,OPT_START_CHECK_POS};