null+****@clear*****
null+****@clear*****
2011年 12月 12日 (月) 14:53:47 JST
Daijiro MORI 2011-12-12 05:53:47 +0000 (Mon, 12 Dec 2011)
New Revision: 4096b411f37c835f1b2771e81d36d0cb82234919
Log:
clear ctx->impl->values in grn_db_close()
Modified files:
lib/db.c
Modified: lib/db.c (+10 -0)
===================================================================
--- lib/db.c 2011-12-12 01:39:43 +0000 (615b018)
+++ lib/db.c 2011-12-12 05:53:47 +0000 (d1681d0)
@@ -242,6 +242,16 @@ grn_db_close(grn_ctx *ctx, grn_obj *db)
ctx_used_db = ctx->impl && ctx->impl->db == db;
if (ctx_used_db) {
grn_ctx_loader_clear(ctx);
+ if (ctx->impl->parser) {
+ grn_expr_parser_close(ctx);
+ }
+ if (ctx->impl->values) {
+ grn_tmp_db_obj *o;
+ GRN_ARRAY_EACH(ctx, ctx->impl->values, 0, 0, id, &o, {
+ grn_obj_close(ctx, (grn_obj *)o->obj);
+ });
+ grn_array_truncate(ctx, ctx->impl->values);
+ }
}
GRN_TINY_ARRAY_EACH(&s->values, 1, grn_db_curr_id(ctx, db), id, vp, {
if (vp->ptr) { grn_obj_close(ctx, vp->ptr); }