Kouhei Sutou
null+****@clear*****
Wed Jun 19 14:59:10 JST 2013
Kouhei Sutou 2013-06-19 14:59:10 +0900 (Wed, 19 Jun 2013) New Revision: c081f8982b270ffc4d72262a885062c9d3954cd5 https://github.com/groonga/groonga/commit/c081f8982b270ffc4d72262a885062c9d3954cd5 Message: Extract table columns inspection code Modified files: lib/util.c Modified: lib/util.c (+29 -19) =================================================================== --- lib/util.c 2013-06-19 14:57:11 +0900 (38f066e) +++ lib/util.c 2013-06-19 14:59:10 +0900 (7f2ea7e) @@ -521,9 +521,35 @@ grn_table_key_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj) } static grn_rc -grn_table_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj) +grn_table_columns_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj) { grn_hash *cols; + + GRN_TEXT_PUTS(ctx, buf, "columns:["); + if ((cols = grn_hash_create(ctx, NULL, sizeof(grn_id), 0, + GRN_OBJ_TABLE_HASH_KEY|GRN_HASH_TINY))) { + if (grn_table_columns(ctx, obj, "", 0, (grn_obj *)cols)) { + int i = 0; + grn_id *key; + GRN_HASH_EACH(ctx, cols, id, &key, NULL, NULL, { + grn_obj *col = grn_ctx_at(ctx, *key); + if (col) { + if (i++ > 0) { GRN_TEXT_PUTS(ctx, buf, ", "); } + grn_column_name_(ctx, col, buf); + grn_obj_unlink(ctx, col); + } + }); + } + grn_hash_close(ctx, cols); + } + GRN_TEXT_PUTS(ctx, buf, "]"); + + return GRN_SUCCESS; +} + +static grn_rc +grn_table_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj) +{ grn_id range_id; grn_obj *range; @@ -552,24 +578,8 @@ grn_table_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj) GRN_TEXT_PUTS(ctx, buf, " size:"); grn_text_lltoa(ctx, buf, grn_table_size(ctx, obj)); - GRN_TEXT_PUTS(ctx, buf, " columns:["); - if ((cols = grn_hash_create(ctx, NULL, sizeof(grn_id), 0, - GRN_OBJ_TABLE_HASH_KEY|GRN_HASH_TINY))) { - if (grn_table_columns(ctx, obj, "", 0, (grn_obj *)cols)) { - int i = 0; - grn_id *key; - GRN_HASH_EACH(ctx, cols, id, &key, NULL, NULL, { - grn_obj *col = grn_ctx_at(ctx, *key); - if (col) { - if (i++ > 0) { GRN_TEXT_PUTS(ctx, buf, ", "); } - grn_column_name_(ctx, col, buf); - grn_obj_unlink(ctx, col); - } - }); - } - grn_hash_close(ctx, cols); - } - GRN_TEXT_PUTS(ctx, buf, "]"); + GRN_TEXT_PUTS(ctx, buf, " "); + grn_table_columns_inspect(ctx, buf, obj); if (obj->header.type == GRN_TABLE_NO_KEY) { grn_table_cursor *tc; -------------- next part -------------- HTML����������������������������... Download