diff options
Diffstat (limited to 'myisam')
-rw-r--r-- | myisam/ft_dump.c | 2 | ||||
-rw-r--r-- | myisam/ft_parser.c | 16 | ||||
-rw-r--r-- | myisam/mi_test1.c | 6 |
3 files changed, 14 insertions, 10 deletions
diff --git a/myisam/ft_dump.c b/myisam/ft_dump.c index 6308694b58e..c40145b87ed 100644 --- a/myisam/ft_dump.c +++ b/myisam/ft_dump.c @@ -106,7 +106,7 @@ int main(int argc,char *argv[]) #endif snprintf(buf,MAX_LEN,"%.*s",(int) keylen,info->lastkey+1); - casedn_str(buf); + my_casedn_str(default_charset_info,buf); total++; lengths[keylen]++; diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c index c1b1190bcab..b241ae9be88 100644 --- a/myisam/ft_parser.c +++ b/myisam/ft_parser.c @@ -107,13 +107,13 @@ FT_WORD * ft_linearize(TREE *wtree) DBUG_RETURN(wlist); } -#define true_word_char(X) (isalnum(X) || (X)=='_') +#define true_word_char(s,X) (my_isalnum(s,X) || (X)=='_') #ifdef HYPHEN_IS_DELIM #define misc_word_char(X) ((X)=='\'') #else #define misc_word_char(X) ((X)=='\'' || (X)=='-') #endif -#define word_char(X) (true_word_char(X) || misc_word_char(X)) +#define word_char(s,X) (true_word_char(s,X) || misc_word_char(s,X)) /* returns: @@ -134,7 +134,11 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param) { for (;doc<end;doc++) { - if (true_word_char(*doc)) break; + /* + BAR TODO: discuss with Serge how to remove + default_charset_info correctly + */ + if (true_word_char(default_charset_info,*doc)) break; if (*doc == FTB_LBR || *doc == FTB_RBR) { /* param->prev=' '; */ @@ -156,7 +160,7 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param) mwc=0; for (word->pos=doc; doc<end; doc++) - if (true_word_char(*doc)) + if (true_word_char(default_charset_info,*doc)) mwc=0; else if (!misc_word_char(*doc) || mwc++) break; @@ -185,12 +189,12 @@ byte ft_simple_get_word(byte **start, byte *end, FT_WORD *word) { for (;doc<end;doc++) { - if (true_word_char(*doc)) break; + if (true_word_char(default_charset_info,*doc)) break; } mwc=0; for(word->pos=doc; doc<end; doc++) - if (true_word_char(*doc)) + if (true_word_char(default_charset_info,*doc)) mwc=0; else if (!misc_word_char(*doc) || mwc++) break; diff --git a/myisam/mi_test1.c b/myisam/mi_test1.c index 135589bb53c..412c493db9a 100644 --- a/myisam/mi_test1.c +++ b/myisam/mi_test1.c @@ -458,19 +458,19 @@ static void update_record(char *record) ptr=blob_key; memcpy_fixed(pos+4,&ptr,sizeof(char*)); /* Store pointer to new key */ if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM) - casedn(blob_key,length); + my_casedn(default_charset_info,blob_key,length); pos+=recinfo[1].length; } else if (recinfo[1].type == FIELD_VARCHAR) { uint length=uint2korr(pos); - casedn(pos+2,length); + my_casedn(default_charset_info,pos+2,length); pos+=recinfo[1].length; } else { if (keyinfo[0].seg[0].type != HA_KEYTYPE_NUM) - casedn(pos,keyinfo[0].seg[0].length); + my_casedn(default_charset_info,pos,keyinfo[0].seg[0].length); pos+=recinfo[1].length; } |