[Groonga-commit] groonga/groonga [master] add grn_inspect_type().

Back to archive index

null+****@clear***** null+****@clear*****
2012年 2月 10日 (金) 15:54:27 JST


Kouhei Sutou	2012-02-10 15:54:27 +0900 (Fri, 10 Feb 2012)

  New Revision: 3167889fac4a80700f182ceb3a93d2ccb6718265

  Log:
    add grn_inspect_type().

  Modified files:
    lib/util.c
    lib/util.h

  Modified: lib/util.c (+114 -0)
===================================================================
--- lib/util.c    2012-02-10 14:30:24 +0900 (af9838f)
+++ lib/util.c    2012-02-10 15:54:27 +0900 (4913edd)
@@ -80,6 +80,120 @@ grn_inspect_name(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
   return buf;
 }
 
+grn_obj *
+grn_inspect_type(grn_ctx *ctx, grn_obj *buf, unsigned char type)
+{
+  switch (type) {
+  case GRN_VOID :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_VOID");
+    break;
+  case GRN_BULK :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_BULK");
+    break;
+  case GRN_PTR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_PTR");
+    break;
+  case GRN_UVECTOR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_UVECTOR");
+    break;
+  case GRN_PVECTOR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_PVECTOR");
+    break;
+  case GRN_VECTOR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_VECTOR");
+    break;
+  case GRN_MSG :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_MSG");
+    break;
+  case GRN_QUERY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_QUERY");
+    break;
+  case GRN_ACCESSOR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_ACCESSOR");
+    break;
+  case GRN_ACCESSOR_VIEW :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_ACCESSOR_VIEW");
+    break;
+  case GRN_SNIP :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_SNIP");
+    break;
+  case GRN_PATSNIP :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_PATSNIP");
+    break;
+  case GRN_NORMALIZED_TEXT :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_NORMALIZED_TEXT");
+    break;
+  case GRN_CURSOR_TABLE_HASH_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_TABLE_HASH_KEY");
+    break;
+  case GRN_CURSOR_TABLE_PAT_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_TABLE_PAT_KEY");
+    break;
+  case GRN_CURSOR_TABLE_DAT_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_TABLE_DAT_KEY");
+    break;
+  case GRN_CURSOR_TABLE_NO_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_TABLE_NO_KEY");
+    break;
+  case GRN_CURSOR_TABLE_VIEW :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_TABLE_VIEW");
+    break;
+  case GRN_CURSOR_COLUMN_INDEX :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_COLUMN_INDEX");
+    break;
+  case GRN_CURSOR_COLUMN_GEO_INDEX :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_CURSOR_COLUMN_GEO_INDEX");
+    break;
+  case GRN_TYPE :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TYPE");
+    break;
+  case GRN_PROC :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_PROC");
+    break;
+  case GRN_EXPR :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_EXPR");
+    break;
+  case GRN_TABLE_HASH_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TABLE_HASH_KEY");
+    break;
+  case GRN_TABLE_PAT_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TABLE_PAT_KEY");
+    break;
+  case GRN_TABLE_DAT_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TABLE_DAT_KEY");
+    break;
+  case GRN_TABLE_NO_KEY :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TABLE_NO_KEY");
+    break;
+  case GRN_TABLE_VIEW :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_TABLE_VIEW");
+    break;
+  case GRN_DB :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_DB");
+    break;
+  case GRN_COLUMN_FIX_SIZE :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_COLUMN_FIX_SIZE");
+    break;
+  case GRN_COLUMN_VAR_SIZE :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_COLUMN_VAR_SIZE");
+    break;
+  case GRN_COLUMN_INDEX :
+    GRN_TEXT_PUTS(ctx, buf, "GRN_COLUMN_INDEX");
+    break;
+  default:
+    {
+      char type_in_hex[5]; /* "0xXX" */
+      sprintf(type_in_hex, "%#02x", type);
+      GRN_TEXT_PUTS(ctx, buf, "(unknown: ");
+      GRN_TEXT_PUTS(ctx, buf, type_in_hex);
+      GRN_TEXT_PUTS(ctx, buf, ")");
+    }
+    break;
+  }
+
+  return buf;
+}
+
 static grn_rc
 grn_proc_inspect(grn_ctx *ctx, grn_obj *buf, grn_obj *obj)
 {

  Modified: lib/util.h (+1 -0)
===================================================================
--- lib/util.h    2012-02-10 14:30:24 +0900 (1ffb5fa)
+++ lib/util.h    2012-02-10 15:54:27 +0900 (439ea46)
@@ -33,6 +33,7 @@ GRN_API grn_rc grn_normalize_offset_and_limit(grn_ctx *ctx, int size, int *offse
 
 grn_obj *grn_inspect(grn_ctx *ctx, grn_obj *buffer, grn_obj *obj);
 grn_obj *grn_inspect_name(grn_ctx *ctx, grn_obj *buffer, grn_obj *obj);
+grn_obj *grn_inspect_type(grn_ctx *ctx, grn_obj *buffer, unsigned char type);
 void grn_p(grn_ctx *ctx, grn_obj *obj);
 void grn_p_geo_point(grn_ctx *ctx, grn_geo_point *point);
 




Groonga-commit メーリングリストの案内
Back to archive index