[Groonga-commit] groonga/groonga [master] suggest: add a destructor for learner_init_columns()

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 12日 (月) 10:21:38 JST


Kouhei Sutou	2012-03-12 10:21:38 +0900 (Mon, 12 Mar 2012)

  New Revision: 8534da8b42d30d24c69e5f73aadd39918f83332b

  Log:
    suggest: add a destructor for learner_init_columns()

  Modified files:
    plugins/suggest/suggest.c

  Modified: plugins/suggest/suggest.c (+26 -0)
===================================================================
--- plugins/suggest/suggest.c    2012-03-12 10:21:10 +0900 (508b1aa)
+++ plugins/suggest/suggest.c    2012-03-12 10:21:38 +0900 (479aaf7)
@@ -583,6 +583,31 @@ learner_init_columns(grn_ctx *ctx, grn_suggest_learner *learner,
   learner->pairs_freq2 = grn_obj_column(ctx, pairs, CONST_STR_LEN("freq2"));
 }
 
+static void
+learner_fin_columns(grn_ctx *ctx, grn_suggest_learner *learner)
+{
+  grn_obj_unlink(ctx, learner->seqs);
+  grn_obj_unlink(ctx, learner->seqs_events);
+
+  grn_obj_unlink(ctx, learner->events);
+  grn_obj_unlink(ctx, learner->events_item);
+  grn_obj_unlink(ctx, learner->events_type);
+  grn_obj_unlink(ctx, learner->events_time);
+
+  grn_obj_unlink(ctx, learner->event_types);
+
+  grn_obj_unlink(ctx, learner->items);
+  grn_obj_unlink(ctx, learner->items_freq);
+  grn_obj_unlink(ctx, learner->items_freq2);
+  grn_obj_unlink(ctx, learner->items_last);
+
+  grn_obj_unlink(ctx, learner->pairs_pre);
+  grn_obj_unlink(ctx, learner->pairs_post);
+  grn_obj_unlink(ctx, learner->pairs_freq0);
+  grn_obj_unlink(ctx, learner->pairs_freq1);
+  grn_obj_unlink(ctx, learner->pairs_freq2);
+}
+
 static int
 learn_for_complete_and_correcnt(grn_ctx *ctx, grn_suggest_learner *learner,
                                 grn_obj *post_item,
@@ -711,6 +736,7 @@ learn(grn_ctx *ctx, grn_obj *post_event, grn_obj *post_type, grn_obj *post_item,
                       &pre_events, GRN_OBJ_APPEND);
     GRN_OBJ_FIN(ctx, &pre_events);
     GRN_OBJ_FIN(ctx, &v1);
+    learner_fin_columns(ctx, &learner);
   }
   return r;
 }




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