Kouhei Sutou
null+****@clear*****
Sat Feb 27 16:10:54 JST 2016
Kouhei Sutou 2016-02-27 16:10:54 +0900 (Sat, 27 Feb 2016) New Revision: 154c5ed2f8eb2cec442cdb77f688cd70c5e84c84 https://github.com/groonga/groonga/commit/154c5ed2f8eb2cec442cdb77f688cd70c5e84c84 Message: object_inspect: support TABLE_NO_KEY Added files: test/command/suite/object_inspect/table_no_key.expected test/command/suite/object_inspect/table_no_key.test Modified files: lib/proc/proc_object_inspect.c Modified: lib/proc/proc_object_inspect.c (+20 -48) =================================================================== --- lib/proc/proc_object_inspect.c 2016-02-26 21:29:18 +0900 (a1563a3) +++ lib/proc/proc_object_inspect.c 2016-02-27 16:10:54 +0900 (651c130) @@ -90,25 +90,6 @@ command_object_inspect_table_hash_key_key(grn_ctx *ctx, grn_hash *hash) } static void -command_object_inspect_table_hash_key(grn_ctx *ctx, grn_obj *obj) -{ - grn_hash *hash = (grn_hash *)obj; - - grn_ctx_output_map_open(ctx, "table", 4); - { - grn_ctx_output_cstr(ctx, "id"); - grn_ctx_output_uint64(ctx, grn_obj_id(ctx, obj)); - grn_ctx_output_cstr(ctx, "name"); - command_object_inspect_obj_name(ctx, obj); - grn_ctx_output_cstr(ctx, "type"); - command_object_inspect_obj_type(ctx, obj->header.type); - grn_ctx_output_cstr(ctx, "key"); - command_object_inspect_table_hash_key_key(ctx, hash); - } - grn_ctx_output_map_close(ctx); -} - -static void command_object_inspect_table_pat_key_key(grn_ctx *ctx, grn_pat *pat) { grn_ctx_output_map_open(ctx, "key", 3); @@ -124,25 +105,6 @@ command_object_inspect_table_pat_key_key(grn_ctx *ctx, grn_pat *pat) } static void -command_object_inspect_table_pat_key(grn_ctx *ctx, grn_obj *obj) -{ - grn_pat *pat = (grn_pat *)obj; - - grn_ctx_output_map_open(ctx, "table", 4); - { - grn_ctx_output_cstr(ctx, "id"); - grn_ctx_output_uint64(ctx, grn_obj_id(ctx, obj)); - grn_ctx_output_cstr(ctx, "name"); - command_object_inspect_obj_name(ctx, obj); - grn_ctx_output_cstr(ctx, "type"); - command_object_inspect_obj_type(ctx, obj->header.type); - grn_ctx_output_cstr(ctx, "key"); - command_object_inspect_table_pat_key_key(ctx, pat); - } - grn_ctx_output_map_close(ctx); -} - -static void command_object_inspect_table_dat_key_key(grn_ctx *ctx, grn_dat *dat) { grn_ctx_output_map_open(ctx, "key", 1); @@ -154,11 +116,9 @@ command_object_inspect_table_dat_key_key(grn_ctx *ctx, grn_dat *dat) } static void -command_object_inspect_table_dat_key(grn_ctx *ctx, grn_obj *obj) +command_object_inspect_table(grn_ctx *ctx, grn_obj *obj) { - grn_dat *dat = (grn_dat *)obj; - - grn_ctx_output_map_open(ctx, "table", 4); + grn_ctx_output_map_open(ctx, "table", 5); { grn_ctx_output_cstr(ctx, "id"); grn_ctx_output_uint64(ctx, grn_obj_id(ctx, obj)); @@ -167,7 +127,22 @@ command_object_inspect_table_dat_key(grn_ctx *ctx, grn_obj *obj) grn_ctx_output_cstr(ctx, "type"); command_object_inspect_obj_type(ctx, obj->header.type); grn_ctx_output_cstr(ctx, "key"); - command_object_inspect_table_dat_key_key(ctx, dat); + switch (obj->header.type) { + case GRN_TABLE_HASH_KEY : + command_object_inspect_table_hash_key_key(ctx, (grn_hash *)obj); + break; + case GRN_TABLE_PAT_KEY : + command_object_inspect_table_pat_key_key(ctx, (grn_pat *)obj); + break; + case GRN_TABLE_DAT_KEY : + command_object_inspect_table_dat_key_key(ctx, (grn_dat *)obj); + break; + case GRN_TABLE_NO_KEY : + grn_ctx_output_null(ctx); + break; + default : + break; + } } grn_ctx_output_map_close(ctx); } @@ -195,13 +170,10 @@ command_object_inspect_dispatch(grn_ctx *ctx, grn_obj *obj) command_object_inspect_type(ctx, obj); break; case GRN_TABLE_HASH_KEY : - command_object_inspect_table_hash_key(ctx, obj); - break; case GRN_TABLE_PAT_KEY : - command_object_inspect_table_pat_key(ctx, obj); - break; case GRN_TABLE_DAT_KEY : - command_object_inspect_table_dat_key(ctx, obj); + case GRN_TABLE_NO_KEY : + command_object_inspect_table(ctx, obj); break; case GRN_DB : command_object_inspect_db(ctx, obj); Added: test/command/suite/object_inspect/table_no_key.expected (+25 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/object_inspect/table_no_key.expected 2016-02-27 16:10:54 +0900 (a2501e7) @@ -0,0 +1,25 @@ +table_create Users TABLE_NO_KEY +[[0,0.0,0.0],true] +load --table Users +[ +{}, +{} +] +[[0,0.0,0.0],2] +object_inspect Users +[ + [ + 0, + 0.0, + 0.0 + ], + { + "id": 256, + "name": "Users", + "type": { + "id": 51, + "name": "table:no_key" + }, + "key": null + } +] Added: test/command/suite/object_inspect/table_no_key.test (+9 -0) 100644 =================================================================== --- /dev/null +++ test/command/suite/object_inspect/table_no_key.test 2016-02-27 16:10:54 +0900 (773ad5b) @@ -0,0 +1,9 @@ +table_create Users TABLE_NO_KEY + +load --table Users +[ +{}, +{} +] + +object_inspect Users -------------- next part -------------- HTML����������������������������... Download