[Groonga-commit] groonga/groonga [master] suggest: use values of learner by initializing columns

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 12日 (月) 11:01:15 JST


Kouhei Sutou	2012-03-12 11:01:15 +0900 (Mon, 12 Mar 2012)

  New Revision: ce5dd71ff4f1b78dbcd3b2dfb0ef7509f71ac407

  Log:
    suggest: use values of learner by initializing columns

  Modified files:
    plugins/suggest/suggest.c

  Modified: plugins/suggest/suggest.c (+7 -8)
===================================================================
--- plugins/suggest/suggest.c    2012-03-12 10:54:48 +0900 (f0910ff)
+++ plugins/suggest/suggest.c    2012-03-12 11:01:15 +0900 (4ac2094)
@@ -43,6 +43,7 @@ typedef struct {
   grn_obj *post_item;
   grn_obj *seq;
   grn_obj *post_time;
+  grn_obj *pairs;
 
   grn_obj *seqs;
   grn_obj *seqs_events;
@@ -55,7 +56,6 @@ typedef struct {
   grn_obj *items_freq;
   grn_obj *items_freq2;
   grn_obj *items_last;
-  grn_obj *pairs;
   grn_obj *pairs_pre;
   grn_obj *pairs_post;
   grn_obj *pairs_freq0;
@@ -571,13 +571,12 @@ learner_init(grn_ctx *ctx, grn_suggest_learner *learner,
 }
 
 static void
-learner_init_columns(grn_ctx *ctx, grn_suggest_learner *learner,
-                     grn_obj *seq, grn_obj *post_item, grn_obj *pairs)
+learner_init_columns(grn_ctx *ctx, grn_suggest_learner *learner)
 {
   grn_id events_id, event_types_id;
-  grn_obj *seqs, *events, *items;
+  grn_obj *seqs, *events, *post_item, *items, *pairs;
 
-  learner->seqs = seqs = grn_ctx_at(ctx, GRN_OBJ_GET_DOMAIN(seq));
+  learner->seqs = seqs = grn_ctx_at(ctx, GRN_OBJ_GET_DOMAIN(learner->seq));
   learner->seqs_events = grn_obj_column(ctx, seqs, CONST_STR_LEN("events"));
 
   events_id = grn_obj_get_range(ctx, learner->seqs_events);
@@ -589,12 +588,13 @@ learner_init_columns(grn_ctx *ctx, grn_suggest_learner *learner,
   event_types_id = grn_obj_get_range(ctx, learner->events_type);
   learner->event_types = grn_obj_column(ctx, events, CONST_STR_LEN("time"));
 
+  post_item = learner->post_item;
   learner->items = items = grn_ctx_at(ctx, GRN_OBJ_GET_DOMAIN(post_item));
   learner->items_freq = grn_obj_column(ctx, items, CONST_STR_LEN("freq"));
   learner->items_freq2 = grn_obj_column(ctx, items, CONST_STR_LEN("freq2"));
   learner->items_last = grn_obj_column(ctx, items, CONST_STR_LEN("last"));
 
-  learner->pairs = pairs;
+  pairs = learner->pairs;
   learner->pairs_pre = grn_obj_column(ctx, pairs, CONST_STR_LEN("pre"));
   learner->pairs_post = grn_obj_column(ctx, pairs, CONST_STR_LEN("post"));
   learner->pairs_freq0 = grn_obj_column(ctx, pairs, CONST_STR_LEN("freq0"));
@@ -722,14 +722,13 @@ learn(grn_ctx *ctx, grn_suggest_learner *learner)
   grn_obj *post_item = learner->post_item;
   grn_obj *seq = learner->seq;
   grn_obj *post_time = learner->post_time;
-  grn_obj *pairs = learner->pairs;
   grn_id post_event_id = GRN_RECORD_VALUE(post_event);
   grn_id post_type_id = GRN_RECORD_VALUE(post_type);
   grn_id post_item_id = GRN_RECORD_VALUE(post_item);
   grn_id seq_id = GRN_RECORD_VALUE(seq);
   int64_t post_time_value = GRN_TIME_VALUE(post_time);
   if (post_event_id && post_item_id && seq_id) {
-    learner_init_columns(ctx, learner, seq, post_item, pairs);
+    learner_init_columns(ctx, learner);
     GRN_UINT32_INIT(&v1, 0);
     GRN_UINT32_SET(ctx, &v1, 1);
     GRN_RECORD_INIT(&pre_events, 0, grn_obj_id(ctx, learner->events));




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