null+****@clear*****
null+****@clear*****
2011年 9月 25日 (日) 10:25:24 JST
Kouhei Sutou 2011-09-25 01:25:24 +0000 (Sun, 25 Sep 2011) New Revision: ffaa7f88a54a10008fc9768650dbf1fcc965a91b Log: ensure set the default tokenizer length. refs #592 Modified files: mrn_sys.h mrn_table.cc mrn_table.h Modified: mrn_sys.h (+1 -0) =================================================================== --- mrn_sys.h 2011-09-25 00:53:19 +0000 (468c867) +++ mrn_sys.h 2011-09-25 01:25:24 +0000 (5e5d129) @@ -36,6 +36,7 @@ #define MRN_PAT_SUFFIX "_pat" #define MRN_COLUMN_NAME_ID "_id" #define MRN_COLUMN_NAME_SCORE "_score" +#define MRN_TOKENIZER_DEFAULT "TokenBigram" /* functions */ int mrn_hash_put(grn_ctx *ctx, grn_hash *hash, const char *key, void *value); Modified: mrn_table.cc (+14 -12) =================================================================== --- mrn_table.cc 2011-09-25 00:53:19 +0000 (d3b4406) +++ mrn_table.cc 2011-09-25 01:25:24 +0000 (aa8ec6d) @@ -1,3 +1,4 @@ +/* -*- c-basic-offset: 2 -*- */ /* Copyright(C) 2011 Kentoku SHIBA Copyright(C) 2011 Kouhei Sutou <kou****@clear*****> @@ -57,8 +58,6 @@ #define MRN_DEFAULT_LEN (sizeof(MRN_DEFAULT_STR) - 1) #define MRN_GROONGA_STR "GROONGA" #define MRN_GROONGA_LEN (sizeof(MRN_GROONGA_STR) - 1) -#define MRN_DEFAULT_KEY_PARSER_STR "TokenBigram" -#define MRN_DEFAULT_KEY_PARSER_LEN (sizeof(MRN_DEFAULT_KEY_PARSER_STR) - 1) extern HASH mrn_open_tables; extern pthread_mutex_t mrn_open_tables_mutex; @@ -488,12 +487,13 @@ int mrn_add_index_param(MRN_SHARE *share, KEY *key_info, int i) { if ( !(share->key_parser[i] = mrn_create_string( - MRN_DEFAULT_KEY_PARSER_STR, - MRN_DEFAULT_KEY_PARSER_LEN)) + MRN_TOKENIZER_DEFAULT, + strlen(MRN_TOKENIZER_DEFAULT))) ) { error = HA_ERR_OUT_OF_MEM; goto error; } + share->key_parser_length[i] = strlen(share->key_parser[i]); DBUG_RETURN(0); } DBUG_PRINT("info", ("mroonga create comment string")); @@ -553,14 +553,16 @@ int mrn_add_index_param(MRN_SHARE *share, KEY *key_info, int i) } } #endif - if ( - !share->key_parser[i] && - !(share->key_parser[i] = mrn_create_string( - MRN_DEFAULT_KEY_PARSER_STR, - MRN_DEFAULT_KEY_PARSER_LEN)) - ) { - error = HA_ERR_OUT_OF_MEM; - goto error; + if (!share->key_parser[i]) { + if ( + !(share->key_parser[i] = mrn_create_string( + MRN_TOKENIZER_DEFAULT, + strlen(MRN_TOKENIZER_DEFAULT))) + ) { + error = HA_ERR_OUT_OF_MEM; + goto error; + } + share->key_parser_length[i] = strlen(share->key_parser[i]); } if (param_string) Modified: mrn_table.h (+1 -0) =================================================================== --- mrn_table.h 2011-09-25 00:53:19 +0000 (dff2b56) +++ mrn_table.h 2011-09-25 01:25:24 +0000 (a629e44) @@ -1,3 +1,4 @@ +/* -*- c-basic-offset: 2 -*- */ /* Copyright(C) 2011 Kentoku SHIBA Copyright(C) 2011 Kouhei Sutou <kou****@clear*****>