[Groonga-commit] groonga/groonga at db18220 [master] Add condition for a decision whether a full-text search or not.

Zurück zum Archiv-Index

Yasuhiro Horimoto null+****@clear*****
Wed Jun 20 13:35:38 JST 2018


Yasuhiro Horimoto	2018-06-20 13:35:38 +0900 (Wed, 20 Jun 2018)

  New Revision: db182201c3bbcfc374747572e4c8f1a047f5c322
  https://github.com/groonga/groonga/commit/db182201c3bbcfc374747572e4c8f1a047f5c322

  Merged 8a52f23: Merge pull request #850 from komainu8/add_check_exist_with_section_flag

  Message:
    Add condition for a decision whether a full-text search or not.

  Modified files:
    lib/db.c

  Modified: lib/db.c (+8 -7)
===================================================================
--- lib/db.c    2018-06-20 13:34:26 +0900 (fea3e9e52)
+++ lib/db.c    2018-06-20 13:35:38 +0900 (4a99d27fc)
@@ -8818,6 +8818,12 @@ grn_obj_set_info_source_validate(grn_ctx *ctx, grn_obj *obj, grn_obj *value)
   if (!lexicon_domain) {
     goto exit;
   }
+  lexicon_domain_is_table = grn_obj_is_table(ctx, lexicon_domain);
+  {
+    grn_obj *tokenizer;
+    grn_table_get_info(ctx, lexicon, NULL, NULL, &tokenizer, NULL, NULL);
+    lexicon_have_tokenizer = (tokenizer != NULL);
+  }
 
   source_ids = (grn_id *)GRN_BULK_HEAD(value);
   n_source_ids = GRN_BULK_VSIZE(value) / sizeof(grn_id);
@@ -8830,7 +8836,8 @@ grn_obj_set_info_source_validate(grn_ctx *ctx, grn_obj *obj, grn_obj *value)
       switch (source->header.flags & GRN_OBJ_COLUMN_TYPE_MASK) {
       case GRN_OBJ_COLUMN_VECTOR :
         if ((obj->header.flags & GRN_OBJ_COLUMN_INDEX)
-            && (obj->header.flags & GRN_OBJ_WITH_POSITION)) {
+            && (obj->header.flags & GRN_OBJ_WITH_POSITION)
+            && (lexicon_have_tokenizer)) {
           if (!(obj->header.flags & GRN_OBJ_WITH_SECTION)) {
             char index_name[GRN_TABLE_MAX_KEY_SIZE];
             int index_name_size;
@@ -8863,12 +8870,6 @@ grn_obj_set_info_source_validate(grn_ctx *ctx, grn_obj *obj, grn_obj *value)
     goto exit;
   }
 
-  lexicon_domain_is_table = grn_obj_is_table(ctx, lexicon_domain);
-  {
-    grn_obj *tokenizer;
-    grn_table_get_info(ctx, lexicon, NULL, NULL, &tokenizer, NULL, NULL);
-    lexicon_have_tokenizer = (tokenizer != NULL);
-  }
 
   for (i = 0; i < n_source_ids; i++) {
     grn_id source_id = source_ids[i];
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180620/609b604a/attachment-0001.htm 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index