[Groonga-commit] groonga/groonga [master] grn_token supports grn_dat

Back to archive index

null+****@clear***** null+****@clear*****
2011年 11月 14日 (月) 20:24:51 JST


Daijiro MORI	2011-11-14 11:24:51 +0000 (Mon, 14 Nov 2011)

  New Revision: 7248d6422a68f54b28514b52634c9776bd7d6cc1

  Log:
    grn_token supports grn_dat

  Modified files:
    lib/token.c

  Modified: lib/token.c (+13 -0)
===================================================================
--- lib/token.c    2011-11-14 09:19:55 +0000 (9154d3f)
+++ lib/token.c    2011-11-14 11:24:51 +0000 (0491acb)
@@ -20,6 +20,7 @@
 #include "ql.h"
 #include "token.h"
 #include "pat.h"
+#include "dat.h"
 #include "hash.h"
 
 grn_obj *grn_uvector_tokenizer = NULL;
@@ -479,6 +480,15 @@ grn_token_next(grn_ctx *ctx, grn_token *token)
           grn_io_unlock(((grn_pat *)table)->io);
         }
         break;
+      case GRN_TABLE_DAT_KEY :
+        if (grn_io_lock(ctx, ((grn_dat *)table)->io, 10000000)) {
+          tid = GRN_ID_NIL;
+        } else {
+          tid = grn_dat_add(ctx, (grn_dat *)table, token->curr, token->curr_size,
+                            NULL, NULL);
+          grn_io_unlock(((grn_dat *)table)->io);
+        }
+        break;
       case GRN_TABLE_HASH_KEY :
         if (grn_io_lock(ctx, ((grn_hash *)table)->io, 10000000)) {
           tid = GRN_ID_NIL;
@@ -501,6 +511,9 @@ grn_token_next(grn_ctx *ctx, grn_token *token)
       case GRN_TABLE_PAT_KEY :
         tid = grn_pat_get(ctx, (grn_pat *)table, token->curr, token->curr_size, NULL);
         break;
+      case GRN_TABLE_DAT_KEY :
+        tid = grn_dat_get(ctx, (grn_dat *)table, token->curr, token->curr_size, NULL);
+        break;
       case GRN_TABLE_HASH_KEY :
         tid = grn_hash_get(ctx, (grn_hash *)table, token->curr, token->curr_size, NULL);
         break;




Groonga-commit メーリングリストの案内
Back to archive index