[Groonga-commit] groonga/groonga at 154c5ed [master] object_inspect: support TABLE_NO_KEY

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index