[Groonga-commit] groonga/groonga at 7bc071b [master] Add grn_obj_type_to_string()

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Feb 3 16:55:33 JST 2016


Kouhei Sutou	2016-02-03 16:55:33 +0900 (Wed, 03 Feb 2016)

  New Revision: 7bc071b5b88f0389de314322944e8677ef4fb607
  https://github.com/groonga/groonga/commit/7bc071b5b88f0389de314322944e8677ef4fb607

  Message:
    Add grn_obj_type_to_string()

  Modified files:
    include/groonga/obj.h
    lib/obj.c
    test/unit/core/test-object.c

  Modified: include/groonga/obj.h (+2 -0)
===================================================================
--- include/groonga/obj.h    2016-02-03 15:58:39 +0900 (619c825)
+++ include/groonga/obj.h    2016-02-03 16:55:33 +0900 (27de09b)
@@ -51,6 +51,8 @@ GRN_API grn_rc grn_obj_cast(grn_ctx *ctx,
 
 GRN_API grn_rc grn_obj_reindex(grn_ctx *ctx, grn_obj *obj);
 
+GRN_API const char *grn_obj_type_to_string(uint8_t type);
+
 #ifdef __cplusplus
 }
 #endif

  Modified: lib/obj.c (+70 -1)
===================================================================
--- lib/obj.c    2016-02-03 15:58:39 +0900 (580b9c7)
+++ lib/obj.c    2016-02-03 16:55:33 +0900 (2072898)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2 -*- */
 /*
-  Copyright(C) 2015 Brazil
+  Copyright(C) 2015-2016 Brazil
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -382,3 +382,72 @@ grn_obj_reindex(grn_ctx *ctx, grn_obj *obj)
 
   GRN_API_RETURN(ctx->rc);
 }
+
+const char *
+grn_obj_type_to_string(uint8_t type)
+{
+  switch (type) {
+  case GRN_VOID :
+    return "void";
+  case GRN_BULK :
+    return "bulk";
+  case GRN_PTR :
+    return "ptr";
+  case GRN_UVECTOR :
+    return "uvector";
+  case GRN_PVECTOR :
+    return "pvector";
+  case GRN_VECTOR :
+    return "vector";
+  case GRN_MSG :
+    return "msg";
+  case GRN_QUERY :
+    return "query";
+  case GRN_ACCESSOR :
+    return "accessor";
+  case GRN_SNIP :
+    return "snip";
+  case GRN_PATSNIP :
+    return "patsnip";
+  case GRN_STRING :
+    return "string";
+  case GRN_CURSOR_TABLE_HASH_KEY :
+    return "cursor:table:hash_key";
+  case GRN_CURSOR_TABLE_PAT_KEY :
+    return "cursor:table:pat_key";
+  case GRN_CURSOR_TABLE_DAT_KEY :
+    return "cursor:table:dat_key";
+  case GRN_CURSOR_TABLE_NO_KEY :
+    return "cursor:table:no_key";
+  case GRN_CURSOR_COLUMN_INDEX :
+    return "cursor:column:index";
+  case GRN_CURSOR_COLUMN_GEO_INDEX :
+    return "cursor:column:geo_index";
+  case GRN_CURSOR_CONFIG :
+    return "cursor:config";
+  case GRN_TYPE :
+    return "type";
+  case GRN_PROC :
+    return "proc";
+  case GRN_EXPR :
+    return "expr";
+  case GRN_TABLE_HASH_KEY :
+    return "table:hash_key";
+  case GRN_TABLE_PAT_KEY :
+    return "table:pat_key";
+  case GRN_TABLE_DAT_KEY :
+    return "table:dat_key";
+  case GRN_TABLE_NO_KEY :
+    return "table:no_key";
+  case GRN_DB :
+    return "db";
+  case GRN_COLUMN_FIX_SIZE :
+    return "column:fix_size";
+  case GRN_COLUMN_VAR_SIZE :
+    return "column:var_size";
+  case GRN_COLUMN_INDEX :
+    return "column:index";
+  default :
+    return "unknown";
+  }
+}

  Modified: test/unit/core/test-object.c (+57 -0)
===================================================================
--- test/unit/core/test-object.c    2016-02-03 15:58:39 +0900 (b1f0d0c)
+++ test/unit/core/test-object.c    2016-02-03 16:55:33 +0900 (9828271)
@@ -49,6 +49,8 @@ void data_is_token_filter_proc(void);
 void test_is_token_filter_proc(gconstpointer data);
 void data_is_scorer_proc(void);
 void test_is_scorer_proc(gconstpointer data);
+void data_type_to_string(void);
+void test_type_to_string(gconstpointer data);
 
 static gchar *tmp_directory;
 static const gchar *database_path;
@@ -509,3 +511,58 @@ test_is_scorer_proc(gconstpointer data)
     cut_assert_false(grn_obj_is_scorer_proc(context, object));
   }
 }
+
+void
+data_type_to_string(void)
+{
+#define ADD_DATUM(expected, type)                                      \
+  gcut_add_datum(G_STRINGIFY(type),                                    \
+                 "expected", G_TYPE_STRING, expected,                  \
+                 "type", G_TYPE_UINT, type,                            \
+                 NULL)
+
+  ADD_DATUM("void", GRN_VOID);
+  ADD_DATUM("bulk", GRN_BULK);
+  ADD_DATUM("ptr", GRN_PTR);
+  ADD_DATUM("uvector", GRN_UVECTOR);
+  ADD_DATUM("pvector", GRN_PVECTOR);
+  ADD_DATUM("vector", GRN_VECTOR);
+  ADD_DATUM("msg", GRN_MSG);
+  ADD_DATUM("query", GRN_QUERY);
+  ADD_DATUM("accessor", GRN_ACCESSOR);
+  ADD_DATUM("snip", GRN_SNIP);
+  ADD_DATUM("patsnip", GRN_PATSNIP);
+  ADD_DATUM("string", GRN_STRING);
+  ADD_DATUM("cursor:table:hash_key", GRN_CURSOR_TABLE_HASH_KEY);
+  ADD_DATUM("cursor:table:pat_key", GRN_CURSOR_TABLE_PAT_KEY);
+  ADD_DATUM("cursor:table:dat_key", GRN_CURSOR_TABLE_DAT_KEY);
+  ADD_DATUM("cursor:table:no_key", GRN_CURSOR_TABLE_NO_KEY);
+  ADD_DATUM("cursor:column:index", GRN_CURSOR_COLUMN_INDEX);
+  ADD_DATUM("cursor:column:geo_index", GRN_CURSOR_COLUMN_GEO_INDEX);
+  ADD_DATUM("cursor:config", GRN_CURSOR_CONFIG);
+  ADD_DATUM("type", GRN_TYPE);
+  ADD_DATUM("proc", GRN_PROC);
+  ADD_DATUM("expr", GRN_EXPR);
+  ADD_DATUM("table:hash_key", GRN_TABLE_HASH_KEY);
+  ADD_DATUM("table:pat_key", GRN_TABLE_PAT_KEY);
+  ADD_DATUM("table:dat_key", GRN_TABLE_DAT_KEY);
+  ADD_DATUM("table:no_key", GRN_TABLE_NO_KEY);
+  ADD_DATUM("db", GRN_DB);
+  ADD_DATUM("column:fix_size", GRN_COLUMN_FIX_SIZE);
+  ADD_DATUM("column:var_size", GRN_COLUMN_VAR_SIZE);
+  ADD_DATUM("column:index", GRN_COLUMN_INDEX);
+
+#undef ADD_DATUM
+}
+
+void
+test_type_to_string(gconstpointer data)
+{
+  const gchar *expected;
+  guint type;
+
+  expected = gcut_data_get_string(data, "expected");
+  type = gcut_data_get_uint(data, "type");
+  cut_assert_equal_string(expected,
+                          grn_obj_type_to_string(type));
+}
-------------- next part --------------
HTML����������������������������...
Download 



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