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*****>