[Groonga-commit] groonga/groonga at 0dddd33 [master] schema: use map instead of array

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Oct 19 15:58:31 JST 2015


Kouhei Sutou	2015-10-19 15:58:31 +0900 (Mon, 19 Oct 2015)

  New Revision: 0dddd339fc98138d4d0ce68df31333d1e983a22e
  https://github.com/groonga/groonga/commit/0dddd339fc98138d4d0ce68df31333d1e983a22e

  Message:
    schema: use map instead of array

  Modified files:
    lib/proc.c
    test/command/suite/schema/array.expected
    test/command/suite/schema/plugins.expected

  Modified: lib/proc.c (+48 -42)
===================================================================
--- lib/proc.c    2015-10-19 15:54:42 +0900 (bc9d43a)
+++ lib/proc.c    2015-10-19 15:58:31 +0900 (b9c8151)
@@ -7305,18 +7305,20 @@ proc_schema_plugins(grn_ctx *ctx)
   GRN_OUTPUT_CSTR("plugins");
 
   n = grn_vector_size(ctx, &plugin_names);
-  GRN_OUTPUT_ARRAY_OPEN("plugins", n);
+  GRN_OUTPUT_MAP_OPEN("plugins", n);
   for (i = 0; i < n; i++) {
     const char *name;
     unsigned int name_size;
 
-    GRN_OUTPUT_MAP_OPEN("plugin", 1);
     name_size = grn_vector_get_element(ctx, &plugin_names, i, &name, NULL, NULL);
+    GRN_OUTPUT_STR(name, name_size);
+
+    GRN_OUTPUT_MAP_OPEN("plugin", 1);
     GRN_OUTPUT_CSTR("name");
     GRN_OUTPUT_STR(name, name_size);
     GRN_OUTPUT_MAP_CLOSE();
   }
-  GRN_OUTPUT_ARRAY_CLOSE();
+  GRN_OUTPUT_MAP_CLOSE();
 
   GRN_OBJ_FIN(ctx, &plugin_names);
 }
@@ -7334,31 +7336,31 @@ proc_schema_types(grn_ctx *ctx)
   GRN_OUTPUT_CSTR("types");
 
   n = GRN_BULK_VSIZE(&types) / sizeof(grn_obj *);
-  GRN_OUTPUT_ARRAY_OPEN("types", n);
+  GRN_OUTPUT_MAP_OPEN("types", n);
   for (i = 0; i < n; i++) {
     grn_obj *type;
+    char name[GRN_TABLE_MAX_KEY_SIZE];
+    unsigned int name_size;
 
     type = GRN_PTR_VALUE_AT(&types, i);
 
+    name_size = grn_obj_name(ctx, type, name, GRN_TABLE_MAX_KEY_SIZE);
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_OPEN("type", 3);
-    {
-      char name[GRN_TABLE_MAX_KEY_SIZE];
-      unsigned int name_size;
-      name_size = grn_obj_name(ctx, type, name, GRN_TABLE_MAX_KEY_SIZE);
-      GRN_OUTPUT_CSTR("name");
-      GRN_OUTPUT_STR(name, name_size);
-    }
-    {
-      GRN_OUTPUT_CSTR("size");
-      GRN_OUTPUT_INT64(GRN_TYPE_SIZE(DB_OBJ(type)));
-    }
-    {
-      GRN_OUTPUT_CSTR("can_be_key_type");
-      GRN_OUTPUT_BOOL(GRN_TYPE_SIZE(DB_OBJ(type)) <= GRN_TABLE_MAX_KEY_SIZE);
-    }
+
+    GRN_OUTPUT_CSTR("name");
+    GRN_OUTPUT_STR(name, name_size);
+
+    GRN_OUTPUT_CSTR("size");
+    GRN_OUTPUT_INT64(GRN_TYPE_SIZE(DB_OBJ(type)));
+
+    GRN_OUTPUT_CSTR("can_be_key_type");
+    GRN_OUTPUT_BOOL(GRN_TYPE_SIZE(DB_OBJ(type)) <= GRN_TABLE_MAX_KEY_SIZE);
+
     GRN_OUTPUT_MAP_CLOSE();
   }
-  GRN_OUTPUT_ARRAY_CLOSE();
+  GRN_OUTPUT_MAP_CLOSE();
 
   GRN_OBJ_FIN(ctx, &types);
 }
@@ -7376,23 +7378,25 @@ proc_schema_tokenizers(grn_ctx *ctx)
   GRN_OUTPUT_CSTR("tokenizers");
 
   n = GRN_BULK_VSIZE(&tokenizers) / sizeof(grn_obj *);
-  GRN_OUTPUT_ARRAY_OPEN("tokenizers", n);
+  GRN_OUTPUT_MAP_OPEN("tokenizers", n);
   for (i = 0; i < n; i++) {
     grn_obj *tokenizer;
+    char name[GRN_TABLE_MAX_KEY_SIZE];
+    unsigned int name_size;
 
     tokenizer = GRN_PTR_VALUE_AT(&tokenizers, i);
 
+    name_size = grn_obj_name(ctx, tokenizer, name, GRN_TABLE_MAX_KEY_SIZE);
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_OPEN("tokenizer", 1);
-    {
-      char name[GRN_TABLE_MAX_KEY_SIZE];
-      unsigned int name_size;
-      name_size = grn_obj_name(ctx, tokenizer, name, GRN_TABLE_MAX_KEY_SIZE);
-      GRN_OUTPUT_CSTR("name");
-      GRN_OUTPUT_STR(name, name_size);
-    }
+
+    GRN_OUTPUT_CSTR("name");
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_CLOSE();
   }
-  GRN_OUTPUT_ARRAY_CLOSE();
+  GRN_OUTPUT_MAP_CLOSE();
 
   GRN_OBJ_FIN(ctx, &tokenizers);
 }
@@ -7410,23 +7414,25 @@ proc_schema_normalizers(grn_ctx *ctx)
   GRN_OUTPUT_CSTR("normalizers");
 
   n = GRN_BULK_VSIZE(&normalizers) / sizeof(grn_obj *);
-  GRN_OUTPUT_ARRAY_OPEN("normalizers", n);
+  GRN_OUTPUT_MAP_OPEN("normalizers", n);
   for (i = 0; i < n; i++) {
     grn_obj *normalizer;
+    char name[GRN_TABLE_MAX_KEY_SIZE];
+    unsigned int name_size;
 
     normalizer = GRN_PTR_VALUE_AT(&normalizers, i);
 
+    name_size = grn_obj_name(ctx, normalizer, name, GRN_TABLE_MAX_KEY_SIZE);
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_OPEN("normalizer", 1);
-    {
-      char name[GRN_TABLE_MAX_KEY_SIZE];
-      unsigned int name_size;
-      name_size = grn_obj_name(ctx, normalizer, name, GRN_TABLE_MAX_KEY_SIZE);
-      GRN_OUTPUT_CSTR("name");
-      GRN_OUTPUT_STR(name, name_size);
-    }
+
+    GRN_OUTPUT_CSTR("name");
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_CLOSE();
   }
-  GRN_OUTPUT_ARRAY_CLOSE();
+  GRN_OUTPUT_MAP_CLOSE();
 
   GRN_OBJ_FIN(ctx, &normalizers);
 }
@@ -7456,10 +7462,10 @@ proc_schema_tables(grn_ctx *ctx)
     GRN_OUTPUT_STR(name, name_size);
 
     GRN_OUTPUT_MAP_OPEN("table", 1);
-    {
-      GRN_OUTPUT_CSTR("name");
-      GRN_OUTPUT_STR(name, name_size);
-    }
+
+    GRN_OUTPUT_CSTR("name");
+    GRN_OUTPUT_STR(name, name_size);
+
     GRN_OUTPUT_MAP_CLOSE();
   }
   GRN_OUTPUT_MAP_CLOSE();

  Modified: test/command/suite/schema/array.expected (+41 -42)
===================================================================
--- test/command/suite/schema/array.expected    2015-10-19 15:54:42 +0900 (0570e07)
+++ test/command/suite/schema/array.expected    2015-10-19 15:58:31 +0900 (2b8a305)
@@ -8,148 +8,147 @@ schema
     0.0
   ],
   {
-    "plugins": [
-
-    ],
-    "types": [
-      {
+    "plugins": {
+    },
+    "types": {
+      "Bool": {
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "Float": {
         "name": "Float",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "Int16": {
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true
       },
-      {
+      "Int32": {
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true
       },
-      {
+      "Int64": {
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "Int8": {
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "LongText": {
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false
       },
-      {
+      "Object": {
         "name": "Object",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "ShortText": {
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true
       },
-      {
+      "Text": {
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false
       },
-      {
+      "Time": {
         "name": "Time",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "TokyoGeoPoint": {
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "UInt16": {
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true
       },
-      {
+      "UInt32": {
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true
       },
-      {
+      "UInt64": {
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "UInt8": {
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "WGS84GeoPoint": {
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true
       }
-    ],
-    "tokenizers": [
-      {
+    },
+    "tokenizers": {
+      "TokenBigram": {
         "name": "TokenBigram"
       },
-      {
+      "TokenBigramIgnoreBlank": {
         "name": "TokenBigramIgnoreBlank"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbol": {
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbolAlpha": {
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
-      {
+      "TokenBigramSplitSymbol": {
         "name": "TokenBigramSplitSymbol"
       },
-      {
+      "TokenBigramSplitSymbolAlpha": {
         "name": "TokenBigramSplitSymbolAlpha"
       },
-      {
+      "TokenBigramSplitSymbolAlphaDigit": {
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
-      {
+      "TokenDelimit": {
         "name": "TokenDelimit"
       },
-      {
+      "TokenDelimitNull": {
         "name": "TokenDelimitNull"
       },
-      {
+      "TokenMecab": {
         "name": "TokenMecab"
       },
-      {
+      "TokenRegexp": {
         "name": "TokenRegexp"
       },
-      {
+      "TokenTrigram": {
         "name": "TokenTrigram"
       },
-      {
+      "TokenUnigram": {
         "name": "TokenUnigram"
       }
-    ],
-    "normalizers": [
-      {
+    },
+    "normalizers": {
+      "NormalizerAuto": {
         "name": "NormalizerAuto"
       },
-      {
+      "NormalizerNFKC51": {
         "name": "NormalizerNFKC51"
       }
-    ],
+    },
     "tables": {
       "Logs": {
         "name": "Logs"

  Modified: test/command/suite/schema/plugins.expected (+44 -42)
===================================================================
--- test/command/suite/schema/plugins.expected    2015-10-19 15:54:42 +0900 (22fabcf)
+++ test/command/suite/schema/plugins.expected    2015-10-19 15:58:31 +0900 (2a2df6a)
@@ -8,149 +8,151 @@ schema
     0.0
   ],
   {
-    "plugins": [
-      {
+    "plugins": {
+      "query_expanders/tsv": {
         "name": "query_expanders/tsv"
       }
-    ],
-    "types": [
-      {
+    },
+    "types": {
+      "Bool": {
         "name": "Bool",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "Float": {
         "name": "Float",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "Int16": {
         "name": "Int16",
         "size": 2,
         "can_be_key_type": true
       },
-      {
+      "Int32": {
         "name": "Int32",
         "size": 4,
         "can_be_key_type": true
       },
-      {
+      "Int64": {
         "name": "Int64",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "Int8": {
         "name": "Int8",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "LongText": {
         "name": "LongText",
         "size": 2147483648,
         "can_be_key_type": false
       },
-      {
+      "Object": {
         "name": "Object",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "ShortText": {
         "name": "ShortText",
         "size": 4096,
         "can_be_key_type": true
       },
-      {
+      "Text": {
         "name": "Text",
         "size": 65536,
         "can_be_key_type": false
       },
-      {
+      "Time": {
         "name": "Time",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "TokyoGeoPoint": {
         "name": "TokyoGeoPoint",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "UInt16": {
         "name": "UInt16",
         "size": 2,
         "can_be_key_type": true
       },
-      {
+      "UInt32": {
         "name": "UInt32",
         "size": 4,
         "can_be_key_type": true
       },
-      {
+      "UInt64": {
         "name": "UInt64",
         "size": 8,
         "can_be_key_type": true
       },
-      {
+      "UInt8": {
         "name": "UInt8",
         "size": 1,
         "can_be_key_type": true
       },
-      {
+      "WGS84GeoPoint": {
         "name": "WGS84GeoPoint",
         "size": 8,
         "can_be_key_type": true
       }
-    ],
-    "tokenizers": [
-      {
+    },
+    "tokenizers": {
+      "TokenBigram": {
         "name": "TokenBigram"
       },
-      {
+      "TokenBigramIgnoreBlank": {
         "name": "TokenBigramIgnoreBlank"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbol": {
         "name": "TokenBigramIgnoreBlankSplitSymbol"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbolAlpha": {
         "name": "TokenBigramIgnoreBlankSplitSymbolAlpha"
       },
-      {
+      "TokenBigramIgnoreBlankSplitSymbolAlphaDigit": {
         "name": "TokenBigramIgnoreBlankSplitSymbolAlphaDigit"
       },
-      {
+      "TokenBigramSplitSymbol": {
         "name": "TokenBigramSplitSymbol"
       },
-      {
+      "TokenBigramSplitSymbolAlpha": {
         "name": "TokenBigramSplitSymbolAlpha"
       },
-      {
+      "TokenBigramSplitSymbolAlphaDigit": {
         "name": "TokenBigramSplitSymbolAlphaDigit"
       },
-      {
+      "TokenDelimit": {
         "name": "TokenDelimit"
       },
-      {
+      "TokenDelimitNull": {
         "name": "TokenDelimitNull"
       },
-      {
+      "TokenMecab": {
         "name": "TokenMecab"
       },
-      {
+      "TokenRegexp": {
         "name": "TokenRegexp"
       },
-      {
+      "TokenTrigram": {
         "name": "TokenTrigram"
       },
-      {
+      "TokenUnigram": {
         "name": "TokenUnigram"
       }
-    ],
-    "normalizers": [
-      {
+    },
+    "normalizers": {
+      "NormalizerAuto": {
         "name": "NormalizerAuto"
       },
-      {
+      "NormalizerNFKC51": {
         "name": "NormalizerNFKC51"
       }
-    ]
+    },
+    "tables": {
+    }
   }
 ]
-------------- next part --------------
HTML����������������������������...
Download 



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