null+****@clear*****
null+****@clear*****
2011年 7月 12日 (火) 15:48:32 JST
Kouhei Sutou 2011-07-12 06:48:32 +0000 (Tue, 12 Jul 2011) New Revision: a9998fc5237b3489012f468a969631ebf11d3978 Log: [db][delete] clear column values before record is deleted. Modified files: lib/db.c Modified: lib/db.c (+1 -1) =================================================================== --- lib/db.c 2011-07-07 09:15:59 +0000 (3bd8508) +++ lib/db.c 2011-07-12 06:48:32 +0000 (51cb40a) @@ -1315,6 +1315,7 @@ grn_table_delete(grn_ctx *ctx, grn_obj *table, const void *key, unsigned key_siz if (key && key_size) { rid = grn_table_get(ctx, table, key, key_size); } if (is_deletable(ctx, table, rid)) { call_delete_hook(ctx, table, rid, key, key_size); + clear_column_values(ctx, table, rid); switch (table->header.type) { case GRN_DB : /* todo : delete tables and columns from db */ @@ -1349,7 +1350,6 @@ grn_table_delete(grn_ctx *ctx, grn_obj *table, const void *key, unsigned key_siz }); break; } - clear_column_values(ctx, table, rid); grn_obj_touch(ctx, table, NULL); } }